Decompiled source of AdvancedTraining v2.1.1

plugins/AdvancedTraining/AdvancedTraining.dll

Decompiled 2 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security;
using System.Security.Permissions;
using System.Text;
using Abilities;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using GameplayEntities;
using LLBML.Graphic;
using LLBML.Math;
using LLBML.Utils;
using LLHandlers;
using LLScreen;
using Rewired;
using StageBackground;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("AdvancedTraining (uk.daioutzu.plugins.llb.AdvancedTraining)")]
[assembly: AssemblyProduct("AdvancedTraining")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("2.1.1.0")]
[module: UnverifiableCode]
namespace AdvancedTraining;

[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("uk.daioutzu.plugins.llb.AdvancedTraining", "AdvancedTraining", "2.1.1")]
[BepInRef]
public class AdvancedTraining : BaseUnityPlugin
{
	internal delegate void InGameButtonPress(bool InGame);

	internal delegate void StandardEvent();

	private const string modVersion = "2.0.2";

	private const string repositoryOwner = "Daioutzu";

	private const string repositoryName = "LLBMM-AdvancedTraining";

	private TrainingMod TrainingMod;

	public float cooldownTimer;

	private GameObject obOption;

	private IADGOHHCMPA ruleWait;

	public const float DESIGN_WIDTH = 1920f;

	public const float DESIGN_HEIGHT = 1080f;

	public int moveBallSpeed = 21;

	public ALDOKEMAOMB playerMain { get; private set; }

	public PlayerEntity playerEntityMain { get; private set; }

	public BallEntity ball { get; private set; }

	public bool showInfo { get; private set; }

	public PlayerEntity Dummy { get; private set; }

	public static JOFJHDJHJGI CurrentGameState => DNPFJHMAIBP.HHMOGKIMBNM();

	public static GameMode CurrentGameMode => JOMBNFKIHIC.GIGAKBJGFDI.PNJOKAICMNN;

	public bool trainingModeStart { get; private set; }

	public static bool LLB_VersionCompatibility
	{
		get
		{
			if (float.TryParse(JPLELOFJOOH.MDGMBEMFDJK, out var result))
			{
				return result < 1.23f;
			}
			return false;
		}
	}

	public ConfigEntry<bool> ShowCharacterInfo { get; private set; }

	public ConfigEntry<bool> ShowSmallInfo { get; private set; }

	private ConfigEntry<KeyCode> ModifierKey { get; set; }

	public ConfigEntry<KeyCode> angleDrawerKey { get; private set; }

	public ConfigEntry<KeyCode> HitboxKey { get; private set; }

	public ConfigEntry<KeyCode> FastFallIndicatorKey { get; private set; }

	public ConfigEntry<KeyCode> PartnerSelectKey { get; private set; }

	public ConfigEntry<KeyCode> PauseTimeKey { get; private set; }

	public ConfigEntry<KeyCode> AdvanceFrame { get; private set; }

	public ConfigEntry<KeyCode> SaveStateKey { get; private set; }

	public ConfigEntry<KeyCode> LoadStateKey { get; private set; }

	public ConfigEntry<KeyCode> QuickRestart { get; private set; }

	public ConfigEntry<KeyCode> SwitchToOtherPlayer { get; private set; }

	public static AdvancedTraining Instance { get; private set; }

	public static ManualLogSource Log { get; private set; }

	public static bool InGame
	{
		get
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Invalid comparison between Unknown and I4
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Invalid comparison between Unknown and I4
			if ((Object)(object)World.instance != (Object)null && ((int)DNPFJHMAIBP.HHMOGKIMBNM() == 19 || (int)DNPFJHMAIBP.HHMOGKIMBNM() == 20))
			{
				return !UIScreen.loadingScreenActive;
			}
			return false;
		}
	}

	public static bool IsOnline => JOMBNFKIHIC.DGGHBHPEGNK();

	public string modifierKeyName { get; private set; }

	internal event InGameButtonPress OnHitboxKeyDown;

	internal event InGameButtonPress OnAngleDrawerKeyDown;

	internal event InGameButtonPress OnFastFallIndicatorKeyDown;

	internal event InGameButtonPress OnPartnerSelectKeyDown;

	internal event StandardEvent OnTrainingModeStart;

	internal event StandardEvent OnTrainingModeEnd;

	private void Awake()
	{
		Instance = this;
		Log = ((BaseUnityPlugin)this).Logger;
		InitConfig();
		ATStyle.Init();
	}

	private void Start()
	{
		ModDependenciesUtils.RegisterToModMenu(((BaseUnityPlugin)this).Info, (List<string>)null);
		((BaseUnityPlugin)this).Logger.LogInfo((object)"AdvancedTraining Started");
	}

	private void InitConfig()
	{
		ModifierKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "modifierKey", (KeyCode)113, "Modifier Key");
		angleDrawerKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "angleDrawerKey", (KeyCode)110, "Angle Drawer");
		HitboxKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "hitboxMod", (KeyCode)109, "Show hitboxes");
		FastFallIndicatorKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "fastFallIndicator", (KeyCode)102, "Show fast falls");
		PartnerSelectKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "enablePartnerSelectInTraining", (KeyCode)285, "Enable Partner Select");
		PauseTimeKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "PauseTime", (KeyCode)114, "Pause time");
		AdvanceFrame = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "AdvanceFrame", (KeyCode)116, "Advance frame");
		SaveStateKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "SaveState", (KeyCode)283, "Save State");
		LoadStateKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "LoadState", (KeyCode)284, "Load State");
		QuickRestart = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "quickRestart", (KeyCode)286, "Quick restart");
		SwitchToOtherPlayer = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("Toggles", "switchToTrainingPartner", (KeyCode)287, "Switch to training partner");
		ShowSmallInfo = ((BaseUnityPlugin)this).Config.Bind<bool>("Toggles", "enableInfoHint", true, "Show info hint");
		ShowCharacterInfo = ((BaseUnityPlugin)this).Config.Bind<bool>("Toggles", "enableCharacterInfo", false, "Show character info");
	}

	public bool ModifierKeyAct()
	{
		//IL_004f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0054: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		if (ReInput.controllers.GetLastActiveController().ImplementsTemplate<IGamepadTemplate>())
		{
			IGamepadTemplate template = ReInput.controllers.GetLastActiveController().GetTemplate<IGamepadTemplate>();
			modifierKeyName = template.center1.source.target.descriptiveName;
			return template.center1.value;
		}
		KeyCode value = ModifierKey.Value;
		modifierKeyName = ((object)(KeyCode)(ref value)).ToString();
		return Input.GetKey(ModifierKey.Value);
	}

	public bool ModifierKeyDownAct()
	{
		//IL_004f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0054: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		if (ReInput.controllers.GetLastActiveController().ImplementsTemplate<IGamepadTemplate>())
		{
			IGamepadTemplate template = ReInput.controllers.GetLastActiveController().GetTemplate<IGamepadTemplate>();
			modifierKeyName = template.center1.source.target.descriptiveName;
			return template.center1.justPressed;
		}
		KeyCode value = ModifierKey.Value;
		modifierKeyName = ((object)(KeyCode)(ref value)).ToString();
		return Input.GetKeyDown(ModifierKey.Value);
	}

	private void Update()
	{
		//IL_000f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0016: Invalid comparison between Unknown and I4
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Invalid comparison between Unknown and I4
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		if (IsOnline || LLB_VersionCompatibility)
		{
			return;
		}
		if (((int)CurrentGameMode == 100 && InGame) || ((int)CurrentGameState == 11 && !IsOnline))
		{
			if (!trainingModeStart)
			{
				trainingModeStart = true;
				TrainingModStart();
			}
		}
		else if (trainingModeStart)
		{
			trainingModeStart = false;
			TrainingModeEnd();
		}
		if (Input.GetKeyDown((KeyCode)9) && InGame)
		{
			Cursor.visible = !Cursor.visible;
		}
		if (Input.GetKeyDown(PartnerSelectKey.Value))
		{
			this.OnPartnerSelectKeyDown?.Invoke(InGame);
		}
		if (Input.GetKeyDown(HitboxKey.Value))
		{
			this.OnHitboxKeyDown?.Invoke(InGame);
		}
		if (Input.GetKeyDown(FastFallIndicatorKey.Value))
		{
			this.OnFastFallIndicatorKeyDown?.Invoke(InGame);
		}
		if (Input.GetKeyDown(angleDrawerKey.Value))
		{
			this.OnAngleDrawerKeyDown?.Invoke(InGame);
		}
		playerMain = ALDOKEMAOMB.BJDPHEHJJJK(0);
		playerEntityMain = playerMain.JCCIAMJEODH;
	}

	protected virtual void TrainingModStart()
	{
		TrainingMod = ((Component)Instance).gameObject.AddComponent<TrainingMod>();
		this.OnTrainingModeStart?.Invoke();
	}

	protected virtual void TrainingModeEnd()
	{
		this.OnTrainingModeEnd?.Invoke();
		TrainingMod = null;
	}

	private void OnGUI()
	{
		//IL_0016: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Expected O, but got Unknown
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		ConvertTo.ResolutionScale();
		if (LLB_VersionCompatibility)
		{
			GUIStyle val = new GUIStyle(GUI.skin.box)
			{
				fontSize = 14,
				alignment = (TextAnchor)3,
				wordWrap = true
			};
			int num = 60;
			GUI.Label(new Rect(0f, 0f, 390f, (float)num), "Incompatible LLB Version \"v" + JPLELOFJOOH.MDGMBEMFDJK + "\" Detected.\nMUST BE v1.23 or higher", val);
		}
	}
}
public static class ATStyle
{
	private static Dictionary<string, Texture2D> texColor = new Dictionary<string, Texture2D>();

	private static RectOffset rectOffset = new RectOffset(6, 6, 6, 6);

	public static GUIStyle border = new GUIStyle
	{
		padding = new RectOffset(10, 10, 24, 10),
		fontSize = 20
	};

	public static GUIStyle BgStyle
	{
		get
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Expected O, but got Unknown
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Expected O, but got Unknown
			GUIStyle val = new GUIStyle
			{
				padding = new RectOffset(4, 4, 4, 4)
			};
			val.normal.background = texColor["Black"];
			return val;
		}
	}

	public static GUIStyle MainStyle
	{
		get
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Expected O, but got Unknown
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Expected O, but got Unknown
			GUIStyle val = new GUIStyle
			{
				padding = new RectOffset(4, 4, 4, 4)
			};
			val.normal.background = texColor["Black"];
			return val;
		}
	}

	public static GUIStyle SplitterStyle
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Expected O, but got Unknown
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Expected O, but got Unknown
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.label)
			{
				fontSize = 15,
				alignment = (TextAnchor)4,
				padding = new RectOffset(4, 4, 4, 4),
				margin = new RectOffset(4, 4, 4, 4),
				fixedHeight = 30f
			};
			val.normal.background = texColor["Grey50"];
			val.normal.textColor = Color.black;
			val.hover.background = texColor["Grey60"];
			val.onHover.background = texColor["Grey60"];
			return val;
		}
	}

	public static GUIStyle ButtonThin
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Expected O, but got Unknown
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Expected O, but got Unknown
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.label)
			{
				fontSize = 15,
				alignment = (TextAnchor)4,
				padding = new RectOffset(8, 8, 4, 4),
				margin = new RectOffset(0, 0, 4, 4),
				fixedHeight = 28f
			};
			val.normal.textColor = Color.black;
			val.normal.background = texColor["Grey50"];
			val.onNormal.background = texColor["MintGreen"];
			val.hover.background = texColor["Grey60"];
			val.onHover.background = texColor["LMintGreen"];
			val.active.background = texColor["Grey60"];
			val.onActive.background = texColor["MintGreen"];
			return val;
		}
	}

	public static GUIStyle ButtonThinActive
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Expected O, but got Unknown
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Expected O, but got Unknown
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.label)
			{
				fontSize = 15,
				alignment = (TextAnchor)4,
				padding = new RectOffset(8, 8, 4, 4),
				margin = new RectOffset(0, 0, 4, 4),
				fixedHeight = 28f
			};
			val.normal.textColor = Color.black;
			val.normal.background = texColor["Grey60"];
			val.onNormal.background = texColor["Grey90"];
			val.hover.background = texColor["Grey50"];
			val.onHover.background = texColor["Grey85"];
			val.active.background = texColor["Grey60"];
			val.onActive.background = texColor["Grey90"];
			return val;
		}
	}

	public static GUIStyle ButtonThinExtend
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Expected O, but got Unknown
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Expected O, but got Unknown
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.label)
			{
				fontSize = 15,
				alignment = (TextAnchor)4,
				padding = new RectOffset(8, 8, 4, 4),
				margin = new RectOffset(0, 0, 4, 4),
				fixedHeight = 32f
			};
			val.normal.textColor = Color.black;
			val.normal.background = texColor["ATBlue"];
			val.onNormal.background = texColor["ATBlue"];
			val.hover.background = texColor["ATLBlue"];
			val.onHover.background = texColor["ATLBlue"];
			val.active.background = texColor["ATBlue"];
			val.onActive.background = texColor["ATBlue"];
			return val;
		}
	}

	public static GUIStyle LabdivStyle
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Expected O, but got Unknown
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Expected O, but got Unknown
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.label)
			{
				fontSize = 17,
				alignment = (TextAnchor)4,
				padding = new RectOffset(4, 4, 4, 4),
				margin = new RectOffset(0, 0, 4, 4),
				fixedHeight = 32f
			};
			val.normal.background = texColor["ATBlue"];
			val.normal.textColor = Color.white;
			val.hover.background = texColor["White"];
			val.onHover.background = texColor["White"];
			return val;
		}
	}

	public static GUIStyle LabStyleLeft
	{
		get
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Expected O, but got Unknown
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Expected O, but got Unknown
			GUIStyle val = new GUIStyle
			{
				fontSize = 14,
				alignment = (TextAnchor)3,
				padding = new RectOffset(0, 0, 1, 1)
			};
			val.normal.textColor = Color.white;
			return val;
		}
	}

	public static GUIStyle BlueWindowStyle
	{
		get
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			GUIStyle val = new GUIStyle();
			val.normal.background = texColor["ATBlue"];
			return val;
		}
	}

	public static GUIStyle AreaStyle
	{
		get
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Expected O, but got Unknown
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			GUIStyle val = new GUIStyle
			{
				padding = new RectOffset(6, 6, 6, 6),
				margin = rectOffset
			};
			val.normal.background = texColor["Black"];
			return val;
		}
	}

	public static GUIStyle HeaderAreaStyle => new GUIStyle(AreaStyle)
	{
		margin = new RectOffset(rectOffset.left, rectOffset.right, 0, rectOffset.bottom)
	};

	public static GUIStyle HeaderScrollAreaStyle => new GUIStyle(AreaStyle)
	{
		margin = new RectOffset(rectOffset.left, 2, 2, rectOffset.bottom)
	};

	public static GUIStyle HeaderStyle
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Expected O, but got Unknown
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Expected O, but got Unknown
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.label)
			{
				margin = new RectOffset(0, 0, 3, 3),
				padding = new RectOffset(0, 0, 0, 0),
				alignment = (TextAnchor)4,
				fontSize = 14
			};
			val.normal.textColor = Color.black;
			return val;
		}
	}

	public static GUIStyle WindStyle
	{
		get
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Expected O, but got Unknown
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Expected O, but got Unknown
			GUIStyle val = new GUIStyle
			{
				padding = new RectOffset(4, 4, 4, 4),
				alignment = (TextAnchor)1,
				fontSize = 14
			};
			val.normal.background = texColor["ATBlue"];
			return val;
		}
	}

	public static GUIStyle Button
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0101: Unknown result type (might be due to invalid IL or missing references)
			//IL_011b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.button)
			{
				fontSize = 24,
				fontStyle = (FontStyle)1,
				alignment = (TextAnchor)4
			};
			val.normal.textColor = Color.white;
			val.hover.textColor = Color.white;
			val.active.textColor = Color.black;
			val.normal.background = texColor["Grey85"];
			val.hover.background = texColor["Grey60"];
			val.active.background = texColor["White"];
			val.onNormal.textColor = Color.black;
			val.onNormal.background = texColor["White"];
			val.onHover.background = texColor["Grey60"];
			val.onActive.background = texColor["Grey85"];
			val.focused.background = texColor["TeamRed"];
			val.stretchHeight = true;
			return val;
		}
	}

	public static GUIStyle ActButton
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0101: Unknown result type (might be due to invalid IL or missing references)
			//IL_0109: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.button)
			{
				fontSize = 24,
				fontStyle = (FontStyle)1,
				alignment = (TextAnchor)4
			};
			val.normal.textColor = Color.white;
			val.hover.textColor = Color.white;
			val.active.textColor = Color.white;
			val.normal.background = texColor["MintGreen"];
			val.hover.background = texColor["LMintGreen"];
			val.active.background = texColor["DarkGreen"];
			val.onNormal.textColor = Color.black;
			val.onNormal.background = texColor["White"];
			val.onHover.background = texColor["Grey60"];
			val.onActive.background = texColor["Grey85"];
			val.stretchHeight = true;
			return val;
		}
	}

	public static GUIStyle DeactButton
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_0108: Unknown result type (might be due to invalid IL or missing references)
			//IL_0110: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.button)
			{
				fontSize = 24,
				fontStyle = (FontStyle)1,
				alignment = (TextAnchor)4,
				clipping = (TextClipping)1
			};
			val.normal.textColor = Color.white;
			val.hover.textColor = Color.white;
			val.active.textColor = Color.white;
			val.normal.background = texColor["RedPink"];
			val.hover.background = texColor["LPink"];
			val.active.background = texColor["DarkPink"];
			val.onNormal.textColor = Color.black;
			val.onNormal.background = texColor["White"];
			val.onHover.background = texColor["Grey60"];
			val.onActive.background = texColor["Grey85"];
			val.stretchHeight = true;
			return val;
		}
	}

	public static GUIStyle SliderThumbStyle
	{
		get
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_006e: Expected O, but got Unknown
			GUIStyle val = new GUIStyle
			{
				fontSize = 24,
				fontStyle = (FontStyle)1,
				alignment = (TextAnchor)4,
				stretchHeight = true,
				fixedWidth = 40f
			};
			Texture2D background = texColor["Black"];
			val.normal.background = background;
			val.hover.background = background;
			val.active.background = background;
			val.focused.background = background;
			return val;
		}
	}

	public static GUIStyle SliderBackgroundStyle
	{
		get
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Expected O, but got Unknown
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Expected O, but got Unknown
			GUIStyle val = new GUIStyle
			{
				stretchWidth = true,
				padding = new RectOffset(2, 2, 2, 2),
				margin = new RectOffset(0, 0, 0, 0)
			};
			Texture2D background = texColor["White"];
			val.normal.background = background;
			val.hover.background = background;
			val.active.background = background;
			val.focused.background = background;
			return val;
		}
	}

	public static GUIStyle PartnerSelectHeader
	{
		get
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUI.skin.label)
			{
				fontSize = 24,
				fixedWidth = 200f,
				alignment = (TextAnchor)4,
				stretchHeight = true
			};
			val.normal.textColor = Color.white;
			return val;
		}
	}

	public static Texture2D GetTexColor(string color)
	{
		return texColor[color];
	}

	public static void Init()
	{
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_0128: Unknown result type (might be due to invalid IL or missing references)
		//IL_014b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0171: Unknown result type (might be due to invalid IL or missing references)
		//IL_0197: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0215: Unknown result type (might be due to invalid IL or missing references)
		//IL_0239: Unknown result type (might be due to invalid IL or missing references)
		//IL_0260: Unknown result type (might be due to invalid IL or missing references)
		//IL_0284: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_031d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0347: Unknown result type (might be due to invalid IL or missing references)
		//IL_036b: Unknown result type (might be due to invalid IL or missing references)
		//IL_038f: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0423: Unknown result type (might be due to invalid IL or missing references)
		//IL_0446: Unknown result type (might be due to invalid IL or missing references)
		//IL_0463: Unknown result type (might be due to invalid IL or missing references)
		//IL_0490: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_04fc: Unknown result type (might be due to invalid IL or missing references)
		texColor.Add("Black", ColorToTexture2D(new Color32((byte)0, (byte)0, (byte)0, byte.MaxValue)));
		texColor.Add("White", ColorToTexture2D(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)));
		texColor.Add("Red", ColorToTexture2D(new Color32(byte.MaxValue, (byte)0, (byte)0, byte.MaxValue)));
		texColor.Add("TeamRed", ColorToTexture2D(new Color32((byte)230, (byte)70, (byte)56, byte.MaxValue)));
		texColor.Add("MintGreen", ColorToTexture2D(new Color32((byte)51, (byte)204, (byte)102, byte.MaxValue)));
		texColor.Add("DarkGreen", ColorToTexture2D(new Color32((byte)0, (byte)51, (byte)0, byte.MaxValue)));
		texColor.Add("LMintGreen", ColorToTexture2D(new Color32((byte)102, byte.MaxValue, (byte)153, byte.MaxValue)));
		texColor.Add("LPink", ColorToTexture2D(new Color32(byte.MaxValue, (byte)102, (byte)153, byte.MaxValue)));
		texColor.Add("DarkPink", ColorToTexture2D(new Color32((byte)102, (byte)0, (byte)51, byte.MaxValue)));
		texColor.Add("RedPink", ColorToTexture2D(new Color32((byte)204, (byte)0, (byte)51, byte.MaxValue)));
		texColor.Add("NavyBlue", ColorToTexture2D(new Color32((byte)0, (byte)51, (byte)153, byte.MaxValue)));
		texColor.Add("ATBlue", ColorToTexture2D(new Color32((byte)34, (byte)139, (byte)231, byte.MaxValue)));
		texColor.Add("ATLBlue", ColorToTexture2D(new Color32((byte)102, (byte)204, byte.MaxValue, byte.MaxValue)));
		texColor.Add("SwingOn", ColorToTexture2D(new Color32((byte)48, (byte)182, (byte)206, byte.MaxValue)));
		texColor.Add("SwingOff", ColorToTexture2D(new Color32((byte)18, (byte)68, (byte)77, byte.MaxValue)));
		texColor.Add("BuntOn", ColorToTexture2D(new Color32((byte)230, (byte)73, (byte)107, byte.MaxValue)));
		texColor.Add("BuntOff", ColorToTexture2D(new Color32((byte)77, (byte)24, (byte)36, byte.MaxValue)));
		texColor.Add("GrabOn", ColorToTexture2D(new Color32((byte)228, (byte)220, (byte)78, byte.MaxValue)));
		texColor.Add("GrabOff", ColorToTexture2D(new Color32((byte)77, (byte)74, (byte)26, byte.MaxValue)));
		texColor.Add("JumpOn", ColorToTexture2D(new Color32((byte)109, (byte)194, (byte)96, byte.MaxValue)));
		texColor.Add("JumpOff", ColorToTexture2D(new Color32((byte)43, (byte)77, (byte)37, byte.MaxValue)));
		texColor.Add("TauntOn", ColorToTexture2D(new Color32((byte)150, (byte)95, (byte)173, byte.MaxValue)));
		texColor.Add("TauntOff", ColorToTexture2D(new Color32((byte)66, (byte)42, (byte)76, byte.MaxValue)));
		texColor.Add("DirOn", ColorToTexture2D(new Color32((byte)93, (byte)93, (byte)93, byte.MaxValue)));
		texColor.Add("DirOff", ColorToTexture2D(new Color32((byte)13, (byte)12, (byte)13, byte.MaxValue)));
		texColor.Add("ExpressOn", ColorToTexture2D(new Color32((byte)0, (byte)161, byte.MaxValue, byte.MaxValue)));
		texColor.Add("ExpressOff", ColorToTexture2D(new Color32((byte)0, (byte)48, (byte)76, byte.MaxValue)));
		texColor.Add("MoveBG", ColorToTexture2D(new Color32((byte)13, (byte)12, (byte)13, byte.MaxValue)));
		texColor.Add("BoomDGreen", ColorToTexture2D(new Color32((byte)1, (byte)24, (byte)20, byte.MaxValue)));
		texColor.Add("Clear", ColorToTexture2D(new Color32((byte)0, (byte)0, (byte)0, (byte)0)));
		texColor.Add("Grey50", ColorToTexture2D(new Color32((byte)150, (byte)150, (byte)150, byte.MaxValue)));
		texColor.Add("Grey60", ColorToTexture2D(new Color32((byte)125, (byte)125, (byte)125, byte.MaxValue)));
		texColor.Add("Grey85", ColorToTexture2D(new Color32((byte)54, (byte)54, (byte)54, byte.MaxValue)));
		texColor.Add("Grey90", ColorToTexture2D(new Color32((byte)37, (byte)37, (byte)37, byte.MaxValue)));
	}

	private static Texture2D ColorToTexture2D(Color32 color)
	{
		//IL_0004: Unknown result type (might be due to invalid IL or missing references)
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000c: Unknown result type (might be due to invalid IL or missing references)
		//IL_000d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Unknown result type (might be due to invalid IL or missing references)
		//IL_001e: Expected O, but got Unknown
		Texture2D val = new Texture2D(1, 1, (TextureFormat)4, false);
		val.SetPixel(0, 0, Color32.op_Implicit(color));
		val.Apply();
		return val;
	}
}
internal class CharacterInfo : MonoBehaviour
{
	private Rect charaRect = new Rect((float)(Screen.width - 350), (float)(Screen.height - 453), 350f, 453f);

	private Vector2 mainScrollView;

	private List<string> currentAbilityList = new List<string>();

	private readonly bool[] showMovement = new bool[5];

	private bool showAbilityState;

	private bool showCurrentAbility;

	private bool showOptions;

	private bool showAngles;

	private bool hideCharacterInfo;

	private bool showHurtbox;

	private bool showHitbox;

	private bool showItems;

	private readonly bool[] showBallData = new bool[5];

	private bool[] showPlayerData = new bool[10];

	private bool showSaveStates;

	private bool showAsPixel = true;

	private bool showEZAngle = true;

	private int playerInfoIndex;

	private const int MAX_SAVES = 3;

	private WorldData[] worldDatasSaves = (WorldData[])(object)new WorldData[3];

	private int[] frameNrSaves = new int[3];

	private int frameTimer;

	private void OnGUI()
	{
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_004d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Expected O, but got Unknown
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Invalid comparison between Unknown and I4
		ConvertTo.ResolutionScale();
		if (AdvancedTraining.InGame && !AdvancedTraining.IsOnline)
		{
			charaRect = ConvertTo.ClampWindowScaled(charaRect);
			if (AdvancedTraining.Instance.ShowCharacterInfo.Value && (!hideCharacterInfo || (int)DNPFJHMAIBP.HHMOGKIMBNM() == 20))
			{
				charaRect = GUI.Window(34672851, charaRect, new WindowFunction(CharaInfo), GUIContent.none, ATStyle.BlueWindowStyle);
			}
		}
	}

	public void ATSaveState(int i)
	{
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Expected O, but got Unknown
		if (worldDatasSaves[i] == null)
		{
			worldDatasSaves[i] = new WorldData();
		}
		worldDatasSaves[i].NDEEDGCMMOC(World.instance.worldData, true);
		frameNrSaves[i] = OGONAGCFDPK.JGKJICLOPFJ();
	}

	public void ATLoadState(int i)
	{
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		if (worldDatasSaves[i] != null)
		{
			World.instance.worldData.NDEEDGCMMOC(worldDatasSaves[i], false);
		}
		ScreenGameHud.UpdateSpeed(((HitableData)((GetHitBallEntity)BallHandler.instance.GetBall(0)).ballData).flySpeed);
		OGONAGCFDPK.HIMHHFDMOEJ(frameNrSaves[i]);
		World.instance.LoadedState();
		World.instance.FrameUpdate();
	}

	private void CharaInfo(int wId)
	{
		//IL_0364: Unknown result type (might be due to invalid IL or missing references)
		//IL_0369: Unknown result type (might be due to invalid IL or missing references)
		//IL_0267: Unknown result type (might be due to invalid IL or missing references)
		//IL_0107: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0381: Unknown result type (might be due to invalid IL or missing references)
		//IL_0383: Unknown result type (might be due to invalid IL or missing references)
		//IL_0392: Unknown result type (might be due to invalid IL or missing references)
		//IL_0394: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0433: Unknown result type (might be due to invalid IL or missing references)
		//IL_0438: Unknown result type (might be due to invalid IL or missing references)
		//IL_048c: Unknown result type (might be due to invalid IL or missing references)
		//IL_048e: Unknown result type (might be due to invalid IL or missing references)
		//IL_049d: Unknown result type (might be due to invalid IL or missing references)
		//IL_049f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0450: Unknown result type (might be due to invalid IL or missing references)
		//IL_0452: Unknown result type (might be due to invalid IL or missing references)
		//IL_0461: Unknown result type (might be due to invalid IL or missing references)
		//IL_0463: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e6: Expected O, but got Unknown
		//IL_04e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_04fd: Expected O, but got Unknown
		//IL_0515: Unknown result type (might be due to invalid IL or missing references)
		//IL_0526: Unknown result type (might be due to invalid IL or missing references)
		//IL_0535: Unknown result type (might be due to invalid IL or missing references)
		//IL_0545: Expected O, but got Unknown
		//IL_0545: Expected O, but got Unknown
		//IL_0540: Unknown result type (might be due to invalid IL or missing references)
		//IL_0545: Unknown result type (might be due to invalid IL or missing references)
		//IL_065c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0686: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_081c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0846: Unknown result type (might be due to invalid IL or missing references)
		//IL_0875: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_08d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0931: Unknown result type (might be due to invalid IL or missing references)
		//IL_095b: Unknown result type (might be due to invalid IL or missing references)
		//IL_098a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0990: Unknown result type (might be due to invalid IL or missing references)
		//IL_0995: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_09aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_09d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_077f: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_1731: Unknown result type (might be due to invalid IL or missing references)
		//IL_176b: Unknown result type (might be due to invalid IL or missing references)
		//IL_17a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_17df: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a2d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a33: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a38: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a42: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a47: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a4c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a7d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aaf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0acb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ad0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b0b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b10: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b12: Unknown result type (might be due to invalid IL or missing references)
		//IL_183e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1848: Unknown result type (might be due to invalid IL or missing references)
		//IL_1878: Unknown result type (might be due to invalid IL or missing references)
		//IL_187d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1882: Unknown result type (might be due to invalid IL or missing references)
		//IL_18b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_18b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_18bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_18ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_18fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_1900: Unknown result type (might be due to invalid IL or missing references)
		//IL_1930: Unknown result type (might be due to invalid IL or missing references)
		//IL_1935: Unknown result type (might be due to invalid IL or missing references)
		//IL_193a: Unknown result type (might be due to invalid IL or missing references)
		//IL_15b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_201e: Unknown result type (might be due to invalid IL or missing references)
		//IL_2059: Unknown result type (might be due to invalid IL or missing references)
		//IL_2094: Unknown result type (might be due to invalid IL or missing references)
		//IL_20cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_210a: Unknown result type (might be due to invalid IL or missing references)
		//IL_212b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1999: Unknown result type (might be due to invalid IL or missing references)
		//IL_199e: Unknown result type (might be due to invalid IL or missing references)
		//IL_19a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_19d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_19d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_19dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a0d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a1c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a21: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c4a: Unknown result type (might be due to invalid IL or missing references)
		//IL_2190: Unknown result type (might be due to invalid IL or missing references)
		//IL_21c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_2201: Unknown result type (might be due to invalid IL or missing references)
		//IL_2236: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e38: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e8f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e94: Unknown result type (might be due to invalid IL or missing references)
		//IL_1eae: Unknown result type (might be due to invalid IL or missing references)
		//IL_1eb3: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a80: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a85: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a8a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1aba: Unknown result type (might be due to invalid IL or missing references)
		//IL_1aea: Unknown result type (might be due to invalid IL or missing references)
		//IL_1645: Unknown result type (might be due to invalid IL or missing references)
		//IL_164b: Invalid comparison between Unknown and I4
		//IL_161f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d9f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ec5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ef9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f13: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fc5: Unknown result type (might be due to invalid IL or missing references)
		//IL_2295: Unknown result type (might be due to invalid IL or missing references)
		//IL_22c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_22f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b23: Unknown result type (might be due to invalid IL or missing references)
		//IL_1675: Unknown result type (might be due to invalid IL or missing references)
		//IL_167b: Invalid comparison between Unknown and I4
		//IL_1057: Unknown result type (might be due to invalid IL or missing references)
		//IL_1061: Unknown result type (might be due to invalid IL or missing references)
		//IL_247c: Unknown result type (might be due to invalid IL or missing references)
		//IL_24a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_24d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_2528: Unknown result type (might be due to invalid IL or missing references)
		//IL_2553: Unknown result type (might be due to invalid IL or missing references)
		//IL_2583: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b8e: Unknown result type (might be due to invalid IL or missing references)
		//IL_16a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_16ab: Invalid comparison between Unknown and I4
		//IL_10f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_1173: Unknown result type (might be due to invalid IL or missing references)
		//IL_119d: Unknown result type (might be due to invalid IL or missing references)
		//IL_11f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_1225: Unknown result type (might be due to invalid IL or missing references)
		//IL_123f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1273: Unknown result type (might be due to invalid IL or missing references)
		//IL_128d: Unknown result type (might be due to invalid IL or missing references)
		//IL_12e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_133f: Unknown result type (might be due to invalid IL or missing references)
		//IL_136e: Unknown result type (might be due to invalid IL or missing references)
		//IL_2802: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bdb: Unknown result type (might be due to invalid IL or missing references)
		//IL_1be0: Unknown result type (might be due to invalid IL or missing references)
		//IL_1be5: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c0d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c35: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c73: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c78: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bb9: Unknown result type (might be due to invalid IL or missing references)
		//IL_1cb4: Unknown result type (might be due to invalid IL or missing references)
		//IL_1cb9: Unknown result type (might be due to invalid IL or missing references)
		//IL_1cbe: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ce6: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d0e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d37: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d3c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d65: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d6a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d8b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d90: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c8c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1da5: Unknown result type (might be due to invalid IL or missing references)
		//IL_1daa: Unknown result type (might be due to invalid IL or missing references)
		//IL_29b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_29d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_296b: Unknown result type (might be due to invalid IL or missing references)
		//IL_2984: Unknown result type (might be due to invalid IL or missing references)
		try
		{
			PlayerEntity jCCIAMJEODH = ALDOKEMAOMB.BJDPHEHJJJK(playerInfoIndex).JCCIAMJEODH;
			SkatePlayer val = (SkatePlayer)(object)((jCCIAMJEODH is SkatePlayer) ? jCCIAMJEODH : null);
			BossPlayer val2 = (BossPlayer)(object)((jCCIAMJEODH is BossPlayer) ? jCCIAMJEODH : null);
			BagPlayer val3 = (BagPlayer)(object)((jCCIAMJEODH is BagPlayer) ? jCCIAMJEODH : null);
			CrocPlayer val4 = (CrocPlayer)(object)((jCCIAMJEODH is CrocPlayer) ? jCCIAMJEODH : null);
			CopPlayer val5 = (CopPlayer)(object)((jCCIAMJEODH is CopPlayer) ? jCCIAMJEODH : null);
			List<string> list = new List<string>();
			List<string> list2 = new List<string>();
			List<string> list3 = new List<string>();
			if (((AbilityEntity)jCCIAMJEODH).GetCurrentAbility() != null && showCurrentAbility)
			{
				string abilityState = ((MovableEntity)jCCIAMJEODH).moveableData.abilityState;
				foreach (string item in ((AbilityEntity)jCCIAMJEODH).GetCurrentAbility().abilityStatesSequence)
				{
					if (abilityState == ((MovableEntity)jCCIAMJEODH).GetAbilityState(item).name)
					{
						list.Add(string.Format($"<b>{((MovableEntity)jCCIAMJEODH).GetAbilityState(item).name}</b> : <b>{Mathf.Ceil(ConvertTo.Time60Frames(((MovableEntity)jCCIAMJEODH).GetAbilityState(item).duration))}</b>"));
					}
					else
					{
						list.Add(string.Format($"{((MovableEntity)jCCIAMJEODH).GetAbilityState(item).name} : <b>{Mathf.Ceil(ConvertTo.Time60Frames(((MovableEntity)jCCIAMJEODH).GetAbilityState(item).duration))}</b>"));
					}
				}
				if (currentAbilityList != list)
				{
					currentAbilityList = list;
				}
			}
			if (showAbilityState)
			{
				foreach (KeyValuePair<string, Ability> ability in ((AbilityEntity)jCCIAMJEODH).abilities)
				{
					list2.Add("\n<b>―――― " + ability.Key + " ――――</b>");
					foreach (string item2 in ((MovableEntity)jCCIAMJEODH).GetAbility(ability.Key).abilityStatesSequence)
					{
						list2.Add($"{((MovableEntity)jCCIAMJEODH).GetAbilityState(item2).name} : <b>{Mathf.Ceil(ConvertTo.Time60Frames(((MovableEntity)jCCIAMJEODH).GetAbilityState(item2).duration))}</b>");
					}
				}
			}
			if (showAbilityState)
			{
				foreach (KeyValuePair<string, AbilityState> abilityState2 in ((AbilityEntity)jCCIAMJEODH).abilityStates)
				{
					if (ConvertTo.Float(((MovableEntity)jCCIAMJEODH).GetAbilityState(abilityState2.Key).duration) == 0f)
					{
						continue;
					}
					list3.Add(string.Concat(string.Format($"{((MovableEntity)jCCIAMJEODH).GetAbilityState(abilityState2.Key).name} : <b>{Mathf.Ceil(ConvertTo.Time60Frames(((MovableEntity)jCCIAMJEODH).GetAbilityState(abilityState2.Key).duration))}</b>")));
					foreach (string item3 in list2)
					{
						if (list3.Contains(item3))
						{
							list3.Remove(item3);
						}
					}
				}
			}
			List<string> list4 = new List<string>();
			foreach (KeyValuePair<string, PlayerBox> hurtbox in ((AttackingEntity)jCCIAMJEODH).hurtboxes)
			{
				IBGCBLLKIHA val6 = ((JEPKNLONCHD)(ref ((Box)hurtbox.Value).bounds)).BFODNCPCHHN();
				if (showAsPixel)
				{
					list4.Add($"{hurtbox.Key} : <b>{ConvertTo.PixelStandard(val6.GCPKPHMKLBN)}, {ConvertTo.PixelStandard(val6.CGJJEHPPOAN)}</b>");
				}
				else
				{
					list4.Add($"{hurtbox.Key} : <b>{ConvertTo.BUnits(val6.GCPKPHMKLBN)}, {ConvertTo.BUnits(val6.CGJJEHPPOAN)}</b>");
				}
			}
			List<string> list5 = new List<string>();
			foreach (KeyValuePair<string, PlayerHitbox> hitbox in ((AttackingEntity)jCCIAMJEODH).hitboxes)
			{
				IBGCBLLKIHA val7 = ((JEPKNLONCHD)(ref ((Box)hitbox.Value).bounds)).BFODNCPCHHN();
				if (showAsPixel)
				{
					list5.Add($"{hitbox.Key} : <b>{ConvertTo.PixelStandard(val7.GCPKPHMKLBN)}, {ConvertTo.PixelStandard(val7.CGJJEHPPOAN)}</b>");
				}
				else
				{
					list5.Add($"{hitbox.Key} : <b>{ConvertTo.BUnits(val7.GCPKPHMKLBN)}, {ConvertTo.BUnits(val7.CGJJEHPPOAN)}</b>");
				}
			}
			GUIStyle val8 = new GUIStyle
			{
				fixedHeight = 120f
			};
			new GUIStyle().padding = new RectOffset(10, 0, 24, 10);
			GUILayout.Label("Character Info", ATStyle.HeaderStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]);
			mainScrollView = GUILayout.BeginScrollView(mainScrollView, false, true, new GUIStyle(GUI.skin.horizontalScrollbar), new GUIStyle(GUI.skin.verticalScrollbar), (GUILayoutOption[])(object)new GUILayoutOption[0]);
			GUILayout.BeginVertical(ATStyle.HeaderScrollAreaStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]);
			GUI.SetNextControlName("Current Ability");
			showCurrentAbility = GUILayout.Toggle(showCurrentAbility, "Current Ability", ATStyle.LabdivStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]);
			if (showCurrentAbility)
			{
				GUILayout.BeginVertical(val8, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				foreach (string currentAbility in currentAbilityList)
				{
					GUILayout.Label(currentAbility, ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				GUILayout.EndVertical();
			}
			GUI.SetNextControlName("Player Info");
			bool flag;
			showPlayerData[0] = (flag = GUILayout.Toggle(showPlayerData[0], "Player Info", ATStyle.LabdivStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
			if (flag)
			{
				playerInfoIndex = (int)Mathf.Round(GUILayout.HorizontalSlider((float)playerInfoIndex, 0f, (float)(PlayerHandler.instance.PlayersInPlay() - 1), ATStyle.SliderBackgroundStyle, ATStyle.SliderThumbStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				GUILayout.Label($"Heading : <b>{((Entity)jCCIAMJEODH).entityData.heading}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Player State : <b>{((MovableEntity)jCCIAMJEODH).moveableData.playerState}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Throw Height : <b>{(float)(jCCIAMJEODH.pxHeight / 2) + ConvertTo.PixelStandard(jCCIAMJEODH.throwOffset.CGJJEHPPOAN)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				showPlayerData[1] = (flag = GUILayout.Toggle(showPlayerData[1], "Ability Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					string text = ((((AbilityEntity)jCCIAMJEODH).GetCurrentAbility() != null) ? ((AbilityEntity)jCCIAMJEODH).GetCurrentAbility().name : "");
					GUILayout.Label("Ability : <b>" + text + "</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label("Ability State : <b>" + ((MovableEntity)jCCIAMJEODH).moveableData.abilityState + "</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Ability State Timer : <b>{ConvertTo.Time60Frames(((MovableEntity)jCCIAMJEODH).moveableData.abilityStateTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Ability State Duration : <b>{Mathf.Ceil(ConvertTo.Time60Frames(((MovableEntity)jCCIAMJEODH).GetAbilityState(((MovableEntity)jCCIAMJEODH).moveableData.abilityState).duration))}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showPlayerData[2] = (flag = GUILayout.Toggle(showPlayerData[2], "Hitstun Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Hitpause State : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.hitPauseState}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Hitstun Timer : <b>{ConvertTo.Time60Frames(((HitableEntity)jCCIAMJEODH).hitableData.hitstunTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Hitstun Duration : <b>{ConvertTo.Time60Frames(((HitableEntity)jCCIAMJEODH).hitableData.hitstunDuration)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Grab Guard Timer: <b>{ConvertTo.Time60Frames(((AttackingData)((AbilityEntity)jCCIAMJEODH).abilityData).grabGuardTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Parry Active Timer: <b>{ConvertTo.Time60Frames(((AttackingData)((AbilityEntity)jCCIAMJEODH).abilityData).parryActiveTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showPlayerData[3] = (flag = GUILayout.Toggle(showPlayerData[3], "Charge Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Charge Power : <b>{ConvertTo.Time60Frames(((AttackingData)jCCIAMJEODH.playerData).chargePower)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Charge Max Duration : <b>{ConvertTo.Time60Frames(((AbilityEntity)jCCIAMJEODH).chargeMaxDuration)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Charge Speed Additional: <b>{ConvertTo.Int(ConvertTo.Multiply(ConvertTo.Divide(((AttackingEntity)jCCIAMJEODH).attackingData.chargePower, ((AbilityEntity)jCCIAMJEODH).chargeMaxDuration), HHBCPNCDNDH.NKKIFJJEPOL(10.0m)))}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Full Charge Margin : <b>{ConvertTo.Time60Frames(((AbilityEntity)jCCIAMJEODH).fullChargeMargin)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showPlayerData[4] = (flag = GUILayout.Toggle(showPlayerData[4], "Big Hit Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					HHBCPNCDNDH val9 = ConvertTo.Max(ConvertTo.Add(((AbilityData)jCCIAMJEODH.playerData).bigHitsCountAdditional, ConvertTo.Floatf(1)), ConvertTo.Floatf(1.1f));
					GUILayout.Label($"Big Hits : <b>{((AbilityData)jCCIAMJEODH.playerData).bigHitsCount}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Big Hit Multiplier : <b>x{ConvertTo.Float(val9)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Big Hit +Speed : <b>{ConvertTo.Pixels(ConvertTo.Subtract(ConvertTo.Multiply(((HitableEntity)BallHandler.instance.GetBall(0)).GetFlySpeed(true), val9), ((HitableData)((GetHitBallEntity)BallHandler.instance.GetBall(0)).ballData).flySpeed), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"FlySpeed on BigHit : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((HitableEntity)BallHandler.instance.GetBall(0)).GetFlySpeed(true), val9), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showPlayerData[5] = (flag = GUILayout.Toggle(showPlayerData[5], "Buffer Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Parry Buffered : <b>{((AttackingData)jCCIAMJEODH.playerData).bufferedParry}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Special Buffered : <b>{((AbilityData)jCCIAMJEODH.playerData).bufferedSpecial}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label("Ability Buffered : <b>" + ((AbilityData)jCCIAMJEODH.playerData).bufferAbility + "</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showPlayerData[6] = (flag = GUILayout.Toggle(showPlayerData[6], "Entity Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Active : <b>{((Entity)jCCIAMJEODH).entityData.active}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Heading : <b>{((Entity)jCCIAMJEODH).entityData.heading}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"On Ground : <b>{((Entity)jCCIAMJEODH).entityData.onGround}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"On Right Wall Approx : <b>{((Entity)jCCIAMJEODH).entityData.onRightWallApprox}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"On Right Wall : <b>{((Entity)jCCIAMJEODH).entityData.onRightWall}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"On Left Wall Approx : <b>{((Entity)jCCIAMJEODH).entityData.onLeftWallApprox}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"On Left Wall : <b>{((Entity)jCCIAMJEODH).entityData.onLeftWall}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"On Ceiling Approx : <b>{((Entity)jCCIAMJEODH).entityData.onCeilingApprox}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showPlayerData[7] = (flag = GUILayout.Toggle(showPlayerData[7], "Attacking Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Hit Pause State : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.hitPauseState}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Energy : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.energy}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Counter Parry Active : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.counterParryActive}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Countered Amount : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.counteredAmount}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"parryHeld : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.parryHeld}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"allowParry : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.allowParry}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"hitSomething : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.hitSomething}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"parryKnockbackDuration : <b>{ConvertTo.Time60Frames(((AttackingEntity)jCCIAMJEODH).attackingData.parryKnockbackDuration)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"ParryPos : <b>({ConvertTo.Float(((AttackingEntity)jCCIAMJEODH).attackingData.parryPos.GCPKPHMKLBN)}, {ConvertTo.Float(((AttackingEntity)jCCIAMJEODH).attackingData.parryPos.GCPKPHMKLBN)})</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"ParrySuccess : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.parrySuccess}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"inParryExtendedHitpause : <b>{((AttackingEntity)jCCIAMJEODH).attackingData.inParryExtendedHitpause}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Parry Active Timer : <b>{ConvertTo.Time60Frames(((AttackingEntity)jCCIAMJEODH).attackingData.parryActiveTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Grab Guard Timer : <b>{ConvertTo.Time60Frames(((AttackingEntity)jCCIAMJEODH).attackingData.grabGuardTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showPlayerData[8] = (flag = GUILayout.Toggle(showPlayerData[8], "Animation Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label("Current Animation : <b>" + ((AnimatableEntity)jCCIAMJEODH).GetAnimDataOfVisual("main").currentAnim + "</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label(string.Format("Animation Time: <b>{0}</b>", ConvertTo.Float(ConvertTo.Multiply(((AnimatableEntity)jCCIAMJEODH).GetAnimDataOfVisual("main").animTime, 12f))), ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label(string.Format("At Animation End: <b>{0}</b>", ((AnimatableEntity)jCCIAMJEODH).GetAnimDataOfVisual("main").atAnimEnd), ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showPlayerData[9] = (flag = GUILayout.Toggle(showPlayerData[9], "Ability Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"recoveryTimer : <b>{ConvertTo.Time60Frames(((AbilityEntity)jCCIAMJEODH).abilityData.recoveryTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"inGetUpBlaze : <b>{((AbilityEntity)jCCIAMJEODH).abilityData.inGetUpBlaze}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"checkedActionsThisFrame : <b>{((AbilityEntity)jCCIAMJEODH).abilityData.checkedActionsThisFrame}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"preHeading : <b>{((AbilityEntity)jCCIAMJEODH).abilityData.preHeading}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"specialHeading : <b>{((AbilityEntity)jCCIAMJEODH).abilityData.specialHeading}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"specialAmount : <b>{((AbilityEntity)jCCIAMJEODH).abilityData.specialAmount}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"specialFAmount : <b>{ConvertTo.Float(((AbilityEntity)jCCIAMJEODH).abilityData.specialFAmount)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"specialVector : <b>{ConvertTo.Float(((AbilityEntity)jCCIAMJEODH).abilityData.specialVector.GCPKPHMKLBN)}, {ConvertTo.Float(((AbilityEntity)jCCIAMJEODH).abilityData.specialVector.GCPKPHMKLBN)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"specialVector2 : <b>{ConvertTo.Float(((AbilityEntity)jCCIAMJEODH).abilityData.specialVector2.GCPKPHMKLBN)}, {ConvertTo.Float(((AbilityEntity)jCCIAMJEODH).abilityData.specialVector2.GCPKPHMKLBN)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"specialBool : <b>{((AbilityEntity)jCCIAMJEODH).abilityData.specialBool}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"reUseWallTimer : <b>{ConvertTo.Time60Frames(((AbilityEntity)jCCIAMJEODH).abilityData.reUseWallTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"isEatingStuff : <b>{((AbilityEntity)jCCIAMJEODH).abilityData.isEatingStuff}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"eatBallTimer : <b>{ConvertTo.Time60Frames(((AbilityEntity)jCCIAMJEODH).abilityData.eatBallTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"eatBallMoveDuration : <b>{ConvertTo.Time60Frames(((AbilityEntity)jCCIAMJEODH).abilityData.eatBallMoveDuration)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
			}
			GUI.SetNextControlName("Hurt Boxes");
			if (showHurtbox = GUILayout.Toggle(showHurtbox, "Hurt Boxes", ATStyle.LabdivStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]))
			{
				foreach (string item4 in list4)
				{
					GUILayout.Label(item4, ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
			}
			GUI.SetNextControlName("Hit Boxes");
			if (showHitbox = GUILayout.Toggle(showHitbox, "Hit Boxes", ATStyle.LabdivStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]))
			{
				foreach (string item5 in list5)
				{
					GUILayout.Label(item5, ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
			}
			GUI.SetNextControlName("Angles");
			if (showAngles = GUILayout.Toggle(showAngles, "Angles", ATStyle.LabdivStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]))
			{
				StringBuilder stringBuilder = new StringBuilder();
				stringBuilder.AppendLine($"Up : <b>{ConvertTo.EzAngle(((AttackingEntity)jCCIAMJEODH).hitAngleUp, showEZAngle)}</b>");
				stringBuilder.AppendLine($"Down : <b>{ConvertTo.EzAngle(((AttackingEntity)jCCIAMJEODH).hitAngleDown, showEZAngle)}</b>");
				if (((AttackingEntity)jCCIAMJEODH).hitAngleDown != ((AttackingEntity)jCCIAMJEODH).hitAngleNeutralDownAir)
				{
					stringBuilder.AppendLine($"Air Down : <b>{ConvertTo.EzAngle(((AttackingEntity)jCCIAMJEODH).hitAngleNeutralDownAir, showEZAngle)}</b>");
				}
				stringBuilder.AppendLine($"Smash : <b>{ConvertTo.EzAngle(((AttackingEntity)jCCIAMJEODH).hitAngleSmash, showEZAngle)}</b>");
				stringBuilder.AppendLine($"Spike-F : <b>{ConvertTo.EzAngle(((AttackingEntity)jCCIAMJEODH).hitAngleDownAirForward, showEZAngle)}</b>");
				stringBuilder.AppendLine($"Spike-B : <b>{ConvertTo.EzAngle(((AttackingEntity)jCCIAMJEODH).hitAngleDownAirBackward, showEZAngle)}</b>");
				if ((Object)(object)val4 != (Object)null)
				{
					stringBuilder.AppendLine($"Wall Swing Down : <b>{ConvertTo.EzAngle(ConvertTo.Int(val4.wallClimbDownAim), showEZAngle)}</b>");
				}
				if ((Object)(object)val4 != (Object)null)
				{
					stringBuilder.AppendLine($"Spit Down-Forward : <b>{ConvertTo.EzAngle(18, showEZAngle)}</b>");
				}
				if ((Object)(object)val5 != (Object)null)
				{
					stringBuilder.AppendLine($"Cuff Down : <b>{ConvertTo.EzAngle(ConvertTo.Int(val5.cuffAngleDown), showEZAngle)}</b>");
				}
				if ((int)((MovableEntity)jCCIAMJEODH).character == 3)
				{
					stringBuilder.AppendLine($"The Beat : <b>{ConvertTo.EzAngle(315, showEZAngle)}</b>");
				}
				if ((int)((MovableEntity)jCCIAMJEODH).character == 5)
				{
					stringBuilder.AppendLine($"Ground Spin : <b>{ConvertTo.EzAngle(352, showEZAngle)}</b>");
				}
				if ((int)((MovableEntity)jCCIAMJEODH).character == 5)
				{
					stringBuilder.AppendLine($"Ceiling Spin : <b>{ConvertTo.EzAngle(45, showEZAngle)}</b>");
				}
				GUILayout.Label(stringBuilder.ToString(), ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
			}
			GUI.SetNextControlName("Movement");
			showMovement[0] = (flag = GUILayout.Toggle(showMovement[0], "Movement", ATStyle.LabdivStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
			if (flag)
			{
				GUILayout.Label($"Velocity-X : <b>{ConvertTo.Pixels(((EntityData)((MovableEntity)jCCIAMJEODH).moveableData).velocity.GCPKPHMKLBN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Velocity-Y : <b>{ConvertTo.Pixels(((EntityData)((MovableEntity)jCCIAMJEODH).moveableData).velocity.CGJJEHPPOAN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Position-X : <b>{ConvertTo.Value(((EntityData)((MovableEntity)jCCIAMJEODH).moveableData).prePosition.GCPKPHMKLBN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Position-Y : <b>{ConvertTo.Value(((EntityData)((MovableEntity)jCCIAMJEODH).moveableData).prePosition.CGJJEHPPOAN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				showMovement[1] = (flag = GUILayout.Toggle(showMovement[1], "Ground Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Ground Initial Speed: <b>{ConvertTo.Pixels(ConvertTo.Multiply(((MovableEntity)jCCIAMJEODH).maxMove, 0.5f), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Ground Accelaration : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((MovableEntity)jCCIAMJEODH).groundAcc, World.FDELTA_TIME), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Ground Decelaration : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((MovableEntity)jCCIAMJEODH).groundDeacc, World.FDELTA_TIME), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Ground Top Speed : <b>{ConvertTo.Pixels(ConvertTo.Add(((MovableEntity)jCCIAMJEODH).maxMove, HHBCPNCDNDH.NKKIFJJEPOL(0.3m)), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Slide Decelaration : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((MovableEntity)jCCIAMJEODH).slideDeacc, World.FDELTA_TIME), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showMovement[2] = (flag = GUILayout.Toggle(showMovement[2], "Air Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Air Accelaration : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((MovableEntity)jCCIAMJEODH).airAcc, World.FDELTA_TIME), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Air Decelaration : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((MovableEntity)jCCIAMJEODH).airDeacc, World.FDELTA_TIME), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Air Top Speed : <b>{ConvertTo.Pixels(ConvertTo.Add(((MovableEntity)jCCIAMJEODH).maxAirMove, HHBCPNCDNDH.NKKIFJJEPOL(0.3m)), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showMovement[3] = (flag = GUILayout.Toggle(showMovement[3], "Fall Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Fall Accelaration : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((Entity)jCCIAMJEODH).gravityForce, World.FDELTA_TIME), showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Fall Top Speed : <b>{ConvertTo.Pixels(((Entity)jCCIAMJEODH).maxGravity, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Fast-Fall Speed : <b>{ConvertTo.Pixels(((MovableEntity)jCCIAMJEODH).gravityForceFastFall, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					if ((Object)(object)val3 != (Object)null)
					{
						GUILayout.Label($"Kite Duration : <b>{ConvertTo.Float(val3.maxKiteFuel)} Sec</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					}
				}
				showMovement[4] = (flag = GUILayout.Toggle(showMovement[4], "Jump Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					StringBuilder stringBuilder2 = new StringBuilder();
					if ((Object)(object)val != (Object)null)
					{
						stringBuilder2.AppendLine($"Hover Duration : <b>{ConvertTo.Float(val.maxFuel)} Sec</b>");
					}
					if ((Object)(object)val2 != (Object)null)
					{
						stringBuilder2.AppendLine($"Fly Duration : <b>{ConvertTo.Float(val2.maxFuel)} Sec</b>");
					}
					stringBuilder2.AppendLine($"Jump Deceleration : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((MovableEntity)jCCIAMJEODH).gravityForceUp, World.FDELTA_TIME), showAsPixel)}</b>");
					stringBuilder2.AppendLine($"Jump Power : <b>{ConvertTo.Pixels(((MovableEntity)jCCIAMJEODH).jumpPower, showAsPixel)}</b>");
					stringBuilder2.AppendLine($"Extra Jump Power : <b>{ConvertTo.Pixels(((MovableEntity)jCCIAMJEODH).extraJumpPower, showAsPixel)}</b>");
					stringBuilder2.AppendLine($"Extra Jump Amount : <b>{((MovableEntity)jCCIAMJEODH).extraJumpAmount}</b>");
					if (!ConvertTo.Equal(((MovableEntity)jCCIAMJEODH).highJumpPower, HHBCPNCDNDH.DBOMOJGKIFI))
					{
						stringBuilder2.AppendLine($"Super Jump Power : <b>{ConvertTo.Pixels(((MovableEntity)jCCIAMJEODH).highJumpPower, showAsPixel)}</b>");
					}
					stringBuilder2.AppendLine($"Apex Deceleration : <b>{ConvertTo.Pixels(ConvertTo.Multiply(((MovableEntity)jCCIAMJEODH).gravityForceApex, World.FDELTA_TIME), showAsPixel)}</b>");
					stringBuilder2.AppendLine($"Apex In : <b>{ConvertTo.Pixels(((MovableEntity)jCCIAMJEODH).apexIn, showAsPixel)}</b>");
					stringBuilder2.AppendLine($"Apex Out : <b>{ConvertTo.Pixels(((MovableEntity)jCCIAMJEODH).apexOut, showAsPixel)}</b>");
					stringBuilder2.AppendLine($"Jump Height : <b>{ConvertTo.Pixels(CalcJumpHeight(jCCIAMJEODH, ((MovableEntity)jCCIAMJEODH).jumpPower), showAsPixel)}</b>");
					stringBuilder2.AppendLine($"Extra Jump Height : <b>{ConvertTo.Pixels(CalcJumpHeight(jCCIAMJEODH, ((MovableEntity)jCCIAMJEODH).extraJumpPower), showAsPixel)}</b>");
					if (!ConvertTo.Equal(((MovableEntity)jCCIAMJEODH).highJumpPower, HHBCPNCDNDH.DBOMOJGKIFI))
					{
						stringBuilder2.AppendLine($"Super Jump Height : <b>{ConvertTo.Pixels(CalcJumpHeight(jCCIAMJEODH, ((MovableEntity)jCCIAMJEODH).highJumpPower), showAsPixel)}</b>");
					}
					GUILayout.Label(stringBuilder2.ToString(), ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
			}
			if (showItems = GUILayout.Toggle(showItems, "Item Data", ATStyle.LabdivStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]))
			{
				ItemHandler instance = ItemHandler.instance;
				CorpseEntity[] corpseItems = instance.corpseItems;
				for (int i = 0; i < instance.corpseItems.Length; i++)
				{
					GUILayout.Label($"{((Entity)corpseItems[i]).entityName} : {corpseItems[i].character}", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"isActive : {((EntityData)((ItemEntity)corpseItems[i]).itemData).active}", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Position: {ConvertTo.Value(((Entity)corpseItems[i]).GetPosition().GCPKPHMKLBN, showAsPixel)} : {ConvertTo.Value(((Entity)corpseItems[i]).GetPosition().CGJJEHPPOAN, showAsPixel)}", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					Visual visual = ((VisualEntity)corpseItems[i]).GetVisual("main");
					GUILayout.Label("Visual Name : " + ((visual != null) ? ((Object)visual.anim).name : null), ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					Visual visual2 = ((VisualEntity)corpseItems[i]).GetVisual("main");
					GUILayout.Label($"isVisible : {((visual2 != null) ? new bool?(visual2.gameObject.activeSelf) : null)}", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					AnimatableData animatableData = ((AnimatableEntity)corpseItems[i]).animatableData;
					GUILayout.Label("Animation : " + ((animatableData != null) ? animatableData.animData[0].currentAnim : null) + " \n", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				if (Input.GetKeyDown((KeyCode)261))
				{
					((EntityData)((ItemEntity)corpseItems[1]).itemData).active = true;
				}
			}
			showBallData[0] = (flag = GUILayout.Toggle(showBallData[0], "Ball Data", ATStyle.LabdivStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
			if (flag)
			{
				BallEntity ball = BallHandler.instance.GetBall(0);
				GUILayout.Label($"Velocity-X : <b>{ConvertTo.Pixels(((Entity)ball).entityData.velocity.GCPKPHMKLBN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Velocity-Y : <b>{ConvertTo.Pixels(((Entity)ball).entityData.velocity.CGJJEHPPOAN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Position-X : <b>{ConvertTo.Value(((Entity)ball).entityData.prePosition.GCPKPHMKLBN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Position-Y : <b>{ConvertTo.Value(((Entity)ball).entityData.prePosition.CGJJEHPPOAN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				GUILayout.Label($"Scale : <b>{ConvertTo.Value(((BouncingData)((GetHitBallEntity)ball).ballData).ballScale.GCPKPHMKLBN, showAsPixel)}</b>, <b>{ConvertTo.Value(((BouncingData)((GetHitBallEntity)ball).ballData).ballScale.CGJJEHPPOAN, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				showBallData[1] = (flag = GUILayout.Toggle(showBallData[1], "Fly Direction", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Fly Speed : <b>{ConvertTo.Pixels(((HitableEntity)ball).hitableData.flySpeed, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Fly Speed Ball: <b>{ConvertTo.Pixels(((HitableData)((GetHitBallEntity)ball).ballData).flySpeed, showAsPixel)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Fly Direction-X : <b>{ConvertTo.Float(((HitableEntity)ball).hitableData.flyDirection.GCPKPHMKLBN)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Fly Direction-Y : <b>{ConvertTo.Float(((HitableEntity)ball).hitableData.flyDirection.CGJJEHPPOAN)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showBallData[2] = (flag = GUILayout.Toggle(showBallData[2], "Hitstun Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Hitstun State : <b>{((HitableEntity)ball).hitableData.hitstunState}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Hitstun Timer : <b>{ConvertTo.Time60Frames(((HitableEntity)ball).hitableData.hitstunTimer)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Hitstun Duration : <b>{ConvertTo.Time60Frames(((HitableEntity)ball).hitableData.hitstunDuration)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showBallData[3] = (flag = GUILayout.Toggle(showBallData[3], "Bouncing Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Special Hit Hori Wall : <b>{((BouncableEntity)ball).bouncingData.specialHitHoriWall}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Special Hit Vert Wall : <b>{((BouncableEntity)ball).bouncingData.specialHitVertWall}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Hit Horizontal Wall : <b>{((BouncableEntity)ball).bouncingData.hitHorizontalWall}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"From Down Bunt : <b>{((BouncableEntity)ball).bouncingData.fromDownBunt}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"From Counter : <b>{((BouncableEntity)ball).bouncingData.fromCounter}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"From Grab Deny : <b>{((BouncableEntity)ball).bouncingData.fromGrabDeny}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"From Special : <b>{((BouncableEntity)ball).bouncingData.fromSpecial}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Ball State : <b>{((BouncableEntity)ball).bouncingData.ballState}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Wall Grind Side : <b>{((BouncableEntity)ball).bouncingData.wallGrindSide}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Last Wall : <b>{((BouncableEntity)ball).bouncingData.lastWall}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Pong Turn Side : <b>{((BouncableEntity)ball).bouncingData.pongTurnSide}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Pong Aim : <b>{((BouncableEntity)ball).bouncingData.pongAim}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Turn Speed : <b>{ConvertTo.Float(((BouncableEntity)ball).bouncingData.turnSpeed)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Time Since Hit : <b>{ConvertTo.Time60Frames(((BouncableEntity)ball).bouncingData.timeSinceHit)}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Active CuffedBall: <b>{((GetHitBallEntity)ball).IsActiveCuffedBall()}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Show Direction Amount: <b>{((BouncableEntity)ball).bouncingData.showDirection}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"ShowDirection: <b>{((BouncableEntity)ball).GetShowDirection()}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"isHittingWall: <b>{((HitableEntity)ball).IsHittingWall()}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
				}
				showBallData[4] = (flag = GUILayout.Toggle(showBallData[4], "Hitable Data", ATStyle.SplitterStyle, (GUILayoutOption[])(object)new GUILayoutOption[0]));
				if (flag)
				{
					GUILayout.Label($"Can Be Hit By Player : <b>{((HitableEntity)ball).hitableData.canBeHitByPlayer}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Can Be Hit By Ball : <b>{((HitableEntity)ball).hitableData.canBeHitByBall}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Can Be Hit By Item : <b>{((HitableEntity)ball).hitableData.canBeHitByItem}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Can Hit Player : <b>{((HitableEntity)ball).hitableData.canHitPlayer}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Has Stage Collision : <b>{((HitableEntity)ball).hitableData.hasStageCollision}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Last Hitter Index : <b>{((HitableEntity)ball).hitableData.lastHitterIndex}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Last Victim Index : <b>{((HitableEntity)ball).hitableData.lastVictimIndex}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"From Shortend Hitstun : <b>{((HitableEntity)ball).hitableData.fromShortendHitstun}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Is Direct : <b>{((HitableEntity)ball).hitableData.isDirect}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);
					GUILayout.Label($"Team : <b>{((HitableEntity)ball).hitableData.team}</b>", ATStyle.LabStyleLeft, (GUILayoutOption[])(object)new GUILayoutOption[0]);