using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Text; using System.Text.RegularExpressions; using JetBrains.Annotations; using MyBox; using MyBox.Internal; using UnityEngine; using UnityEngine.AI; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyVersion("0.0.0.0")] public class FPSCounter : MonoBehaviour { private enum Anchor { LeftTop, LeftBottom, RightTop, RightBottom } public bool EditorOnly; [Separator] [SerializeField] private float _updateInterval = 1f; [SerializeField] private int _targetFrameRate = 30; [Separator] [SerializeField] private Anchor _anchor; [SerializeField] private int _xOffset; [SerializeField] private int _yOffset; private float _idleTime = 2f; private float _elapsed; private int _frames; private int _quantity; private float _fps; private float _averageFps; private Color _goodColor; private Color _okColor; private Color _badColor; private float _okFps; private float _badFps; private Rect _rect1; private Rect _rect2; private void Awake() { //IL_0020: 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_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: 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_005e: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) if (!EditorOnly || Application.isEditor) { _goodColor = new Color(0.4f, 0.6f, 0.4f); _okColor = new Color(0.8f, 0.8f, 0.2f, 0.6f); _badColor = new Color(0.8f, 0.6f, 0.6f); int num = _targetFrameRate / 100; int num2 = num * 10; int num3 = num * 40; _okFps = _targetFrameRate - num2; _badFps = _targetFrameRate - num3; int num4 = 0; int num5 = 0; int num6 = 40; int num7 = 90; if (_anchor == Anchor.LeftBottom || _anchor == Anchor.RightBottom) { num5 = Screen.height - num6; } if (_anchor == Anchor.RightTop || _anchor == Anchor.RightBottom) { num4 = Screen.width - num7; } num4 += _xOffset; num5 += _yOffset; int num8 = num5 + 18; _rect1 = new Rect((float)num4, (float)num5, (float)num7, (float)num6); _rect2 = new Rect((float)num4, (float)num8, (float)num7, (float)num6); _elapsed = _updateInterval; } } private void Update() { if (EditorOnly && !Application.isEditor) { return; } if (_idleTime > 0f) { _idleTime -= Time.deltaTime; return; } _elapsed += Time.deltaTime; _frames++; if (_elapsed >= _updateInterval) { _fps = (float)_frames / _elapsed; _elapsed = 0f; _frames = 0; } _quantity++; _averageFps += (_fps - _averageFps) / (float)_quantity; } private void OnGUI() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //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_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: 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_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) if (!EditorOnly || Application.isEditor) { Color color = GUI.color; Color color2 = _goodColor; if (_fps <= _okFps || _averageFps <= _okFps) { color2 = _okColor; } if (_fps <= _badFps || _averageFps <= _badFps) { color2 = _badColor; } GUI.color = color2; GUI.Label(_rect1, "FPS: " + (int)_fps); GUI.color = color; } } } [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { MonoScriptData result = default(MonoScriptData); result.FilePathsData = new byte[8296] { 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 65, 117, 116, 111, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 66, 117, 116, 116, 111, 110, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 82, 97, 110, 103, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 111, 110, 100, 105, 116, 105, 111, 110, 97, 108, 70, 105, 101, 108, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 111, 110, 115, 116, 97, 110, 116, 115, 83, 101, 108, 101, 99, 116, 105, 111, 110, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 68, 101, 102, 105, 110, 101, 100, 86, 97, 108, 117, 101, 115, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 68, 105, 115, 112, 108, 97, 121, 73, 110, 115, 112, 101, 99, 116, 111, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 70, 111, 108, 100, 111, 117, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 73, 110, 105, 116, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 70, 105, 101, 108, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 76, 97, 121, 101, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 77, 97, 120, 86, 97, 108, 117, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 77, 105, 110, 77, 97, 120, 82, 97, 110, 103, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 77, 105, 110, 86, 97, 108, 117, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 77, 117, 115, 116, 66, 101, 65, 115, 115, 105, 103, 110, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 79, 118, 101, 114, 114, 105, 100, 101, 76, 97, 98, 101, 108, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 92, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 80, 111, 115, 105, 116, 105, 118, 101, 86, 97, 108, 117, 101, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 82, 97, 110, 103, 101, 86, 101, 99, 116, 111, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 82, 101, 103, 101, 120, 83, 116, 114, 105, 110, 103, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 82, 101, 113, 117, 105, 114, 101, 76, 97, 121, 101, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 82, 101, 113, 117, 105, 114, 101, 84, 97, 103, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 83, 99, 101, 110, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 83, 101, 97, 114, 99, 104, 97, 98, 108, 101, 69, 110, 117, 109, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 83, 101, 112, 97, 114, 97, 116, 111, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 83, 112, 114, 105, 116, 101, 76, 97, 121, 101, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 84, 97, 103, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 65, 108, 103, 111, 114, 105, 116, 104, 109, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 67, 111, 108, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 67, 111, 109, 109, 111, 110, 67, 111, 110, 115, 116, 97, 110, 116, 115, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 67, 111, 114, 111, 117, 116, 105, 110, 101, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 68, 101, 98, 117, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 68, 101, 108, 97, 121, 101, 100, 65, 99, 116, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 71, 105, 122, 109, 111, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 73, 110, 112, 117, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 76, 97, 121, 101, 114, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 72, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 77, 97, 116, 104, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 78, 97, 118, 77, 101, 115, 104, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 79, 98, 115, 111, 108, 101, 116, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 80, 104, 121, 115, 105, 99, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 80, 104, 121, 115, 105, 99, 115, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 82, 101, 103, 101, 120, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 83, 116, 114, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 84, 101, 120, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 70, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 85, 73, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 121, 86, 101, 99, 116, 111, 114, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 104, 97, 107, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 111, 111, 108, 115, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 80, 114, 101, 112, 97, 114, 101, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 102, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 111, 111, 108, 115, 92, 73, 109, 97, 103, 101, 83, 116, 114, 105, 110, 103, 67, 111, 110, 118, 101, 114, 116, 101, 114, 92, 73, 109, 97, 103, 101, 83, 116, 114, 105, 110, 103, 67, 111, 110, 118, 101, 114, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 111, 111, 108, 115, 92, 73, 110, 116, 101, 114, 110, 97, 108, 92, 67, 111, 110, 100, 105, 116, 105, 111, 110, 97, 108, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 111, 111, 108, 115, 92, 77, 121, 83, 99, 101, 110, 101, 66, 117, 110, 100, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 69, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 111, 111, 108, 115, 92, 84, 105, 109, 101, 84, 101, 115, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 111, 111, 108, 115, 92, 85, 110, 100, 111, 110, 101, 92, 71, 76, 68, 114, 97, 119, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 76, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 111, 111, 108, 115, 92, 85, 110, 100, 111, 110, 101, 92, 77, 121, 76, 111, 103, 103, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 111, 111, 108, 115, 92, 87, 97, 114, 110, 105, 110, 103, 115, 80, 111, 111, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 65, 99, 116, 105, 118, 101, 83, 116, 97, 116, 101, 79, 110, 83, 116, 97, 114, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 65, 110, 105, 109, 97, 116, 105, 111, 110, 83, 116, 97, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 76, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 65, 115, 115, 101, 116, 70, 111, 108, 100, 101, 114, 80, 97, 116, 104, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 70, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 65, 115, 115, 101, 116, 80, 97, 116, 104, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 70, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 66, 105, 108, 108, 98, 111, 97, 114, 100, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 87, 114, 97, 112, 112, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 67, 111, 108, 108, 105, 100, 101, 114, 71, 105, 122, 109, 111, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 67, 111, 108, 108, 105, 100, 101, 114, 84, 111, 77, 101, 115, 104, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 67, 111, 109, 109, 101, 110, 116, 97, 114, 121, 67, 111, 109, 112, 111, 110, 101, 110, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 67, 111, 114, 111, 117, 116, 105, 110, 101, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 71, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 70, 80, 83, 67, 111, 117, 110, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 71, 85, 73, 68, 92, 71, 117, 105, 100, 67, 111, 109, 112, 111, 110, 101, 110, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 71, 85, 73, 68, 92, 71, 117, 105, 100, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 71, 85, 73, 68, 92, 71, 117, 105, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 67, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 77, 105, 110, 77, 97, 120, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 69, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 77, 121, 67, 117, 114, 115, 111, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 77, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 46, 99, 115, 0, 0, 0, 8, 0, 0, 0, 69, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 79, 112, 116, 105, 111, 110, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 79, 112, 116, 105, 111, 110, 97, 108, 77, 105, 110, 77, 97, 120, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 76, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 66, 111, 111, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 70, 108, 111, 97, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 73, 110, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 83, 116, 114, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 76, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 84, 121, 112, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 86, 101, 99, 116, 111, 114, 50, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 86, 101, 99, 116, 111, 114, 50, 73, 110, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 86, 101, 99, 116, 111, 114, 51, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 86, 101, 99, 116, 111, 114, 51, 73, 110, 116, 46, 99, 115, 0, 0, 0, 7, 0, 0, 0, 72, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 82, 101, 111, 114, 100, 101, 114, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 83, 99, 101, 110, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 70, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 83, 105, 110, 103, 108, 101, 116, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 69, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 85, 73, 70, 111, 108, 108, 111, 119, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 85, 73, 73, 109, 97, 103, 101, 66, 97, 115, 101, 100, 66, 117, 116, 116, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 85, 73, 82, 101, 108, 97, 116, 105, 118, 101, 80, 111, 115, 105, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 69, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 100, 111, 109, 121, 98, 101, 115, 116, 46, 109, 121, 98, 111, 120, 64, 101, 54, 48, 102, 52, 55, 55, 101, 51, 52, 92, 84, 121, 112, 101, 115, 92, 85, 73, 83, 105, 122, 101, 66, 121, 46, 99, 115 }; result.TypesData = new byte[3451] { 0, 0, 0, 0, 28, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 65, 116, 116, 114, 105, 98, 117, 116, 101, 66, 97, 115, 101, 0, 0, 0, 0, 27, 77, 121, 66, 111, 120, 124, 65, 117, 116, 111, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 27, 77, 121, 66, 111, 120, 124, 66, 117, 116, 116, 111, 110, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 30, 77, 121, 66, 111, 120, 124, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 82, 97, 110, 103, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 31, 77, 121, 66, 111, 120, 124, 67, 111, 110, 100, 105, 116, 105, 111, 110, 97, 108, 70, 105, 101, 108, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 33, 77, 121, 66, 111, 120, 124, 67, 111, 110, 115, 116, 97, 110, 116, 115, 83, 101, 108, 101, 99, 116, 105, 111, 110, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 28, 77, 121, 66, 111, 120, 124, 68, 101, 102, 105, 110, 101, 100, 86, 97, 108, 117, 101, 115, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 31, 77, 121, 66, 111, 120, 124, 68, 105, 115, 112, 108, 97, 121, 73, 110, 115, 112, 101, 99, 116, 111, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 22, 77, 121, 66, 111, 120, 124, 70, 111, 108, 100, 111, 117, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 34, 77, 121, 66, 111, 120, 124, 73, 110, 105, 116, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 70, 105, 101, 108, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 20, 77, 121, 66, 111, 120, 124, 76, 97, 121, 101, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 124, 77, 97, 120, 86, 97, 108, 117, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 124, 77, 105, 110, 77, 97, 120, 82, 97, 110, 103, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 17, 77, 121, 66, 111, 120, 124, 82, 97, 110, 103, 101, 100, 70, 108, 111, 97, 116, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 82, 97, 110, 103, 101, 100, 73, 110, 116, 0, 0, 0, 0, 22, 77, 121, 66, 111, 120, 124, 82, 97, 110, 103, 101, 100, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 124, 77, 105, 110, 86, 97, 108, 117, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 29, 77, 121, 66, 111, 120, 124, 77, 117, 115, 116, 66, 101, 65, 115, 115, 105, 103, 110, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 28, 77, 121, 66, 111, 120, 124, 79, 118, 101, 114, 114, 105, 100, 101, 76, 97, 98, 101, 108, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 32, 77, 121, 66, 111, 120, 124, 80, 111, 115, 105, 116, 105, 118, 101, 86, 97, 108, 117, 101, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 124, 82, 97, 110, 103, 101, 86, 101, 99, 116, 111, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 124, 82, 101, 97, 100, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 124, 82, 101, 103, 101, 120, 83, 116, 114, 105, 110, 103, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 27, 77, 121, 66, 111, 120, 124, 82, 101, 113, 117, 105, 114, 101, 76, 97, 121, 101, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 25, 77, 121, 66, 111, 120, 124, 82, 101, 113, 117, 105, 114, 101, 84, 97, 103, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 20, 77, 121, 66, 111, 120, 124, 83, 99, 101, 110, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 29, 77, 121, 66, 111, 120, 124, 83, 101, 97, 114, 99, 104, 97, 98, 108, 101, 69, 110, 117, 109, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 24, 77, 121, 66, 111, 120, 124, 83, 101, 112, 97, 114, 97, 116, 111, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 124, 83, 112, 114, 105, 116, 101, 76, 97, 121, 101, 114, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 18, 77, 121, 66, 111, 120, 124, 84, 97, 103, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 18, 77, 121, 66, 111, 120, 124, 77, 121, 65, 108, 103, 111, 114, 105, 116, 104, 109, 115, 0, 0, 0, 0, 19, 77, 121, 66, 111, 120, 124, 77, 121, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 0, 0, 0, 0, 13, 77, 121, 66, 111, 120, 124, 77, 121, 67, 111, 108, 111, 114, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 124, 77, 121, 67, 111, 109, 109, 111, 110, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 0, 0, 0, 18, 77, 121, 66, 111, 120, 124, 77, 121, 67, 111, 114, 111, 117, 116, 105, 110, 101, 115, 0, 0, 0, 0, 29, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 67, 111, 114, 111, 117, 116, 105, 110, 101, 79, 119, 110, 101, 114, 0, 0, 0, 0, 13, 77, 121, 66, 111, 120, 124, 77, 121, 68, 101, 98, 117, 103, 0, 0, 0, 0, 22, 77, 121, 66, 111, 120, 124, 77, 121, 68, 101, 108, 97, 121, 101, 100, 65, 99, 116, 105, 111, 110, 115, 0, 0, 0, 0, 18, 77, 121, 66, 111, 120, 124, 77, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 77, 121, 66, 111, 120, 46, 77, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 124, 67, 111, 109, 112, 111, 110, 101, 110, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 0, 0, 0, 0, 14, 77, 121, 66, 111, 120, 124, 77, 121, 71, 105, 122, 109, 111, 115, 0, 0, 0, 0, 13, 77, 121, 66, 111, 120, 124, 77, 121, 73, 110, 112, 117, 116, 0, 0, 0, 0, 14, 77, 121, 66, 111, 120, 124, 77, 121, 76, 97, 121, 101, 114, 115, 0, 0, 0, 0, 12, 77, 121, 66, 111, 120, 124, 77, 121, 77, 97, 116, 104, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 77, 121, 78, 97, 118, 77, 101, 115, 104, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 124, 77, 121, 79, 98, 115, 111, 108, 101, 116, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 77, 121, 80, 104, 121, 115, 105, 99, 115, 0, 0, 0, 0, 25, 77, 121, 66, 111, 120, 124, 77, 121, 80, 104, 121, 115, 105, 99, 115, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 18, 77, 121, 66, 111, 120, 124, 77, 121, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 0, 0, 0, 0, 13, 77, 121, 66, 111, 120, 124, 77, 121, 82, 101, 103, 101, 120, 0, 0, 0, 0, 14, 77, 121, 66, 111, 120, 124, 77, 121, 83, 116, 114, 105, 110, 103, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 77, 121, 84, 101, 120, 116, 117, 114, 101, 0, 0, 0, 0, 10, 77, 121, 66, 111, 120, 124, 77, 121, 85, 73, 0, 0, 0, 0, 28, 77, 121, 66, 111, 120, 124, 77, 121, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 77, 121, 86, 101, 99, 116, 111, 114, 115, 0, 0, 0, 0, 29, 77, 121, 66, 111, 120, 124, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 104, 97, 107, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 0, 0, 0, 0, 14, 77, 121, 66, 111, 120, 124, 73, 80, 114, 101, 112, 97, 114, 101, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 124, 73, 109, 97, 103, 101, 83, 116, 114, 105, 110, 103, 67, 111, 110, 118, 101, 114, 116, 101, 114, 0, 0, 0, 0, 30, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 67, 111, 110, 100, 105, 116, 105, 111, 110, 97, 108, 68, 97, 116, 97, 0, 0, 0, 0, 19, 77, 121, 66, 111, 120, 124, 77, 121, 83, 99, 101, 110, 101, 66, 117, 110, 100, 108, 101, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 83, 99, 101, 110, 101, 66, 117, 110, 100, 108, 101, 0, 0, 0, 0, 21, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 66, 117, 110, 100, 108, 101, 0, 0, 0, 0, 14, 77, 121, 66, 111, 120, 124, 84, 105, 109, 101, 84, 101, 115, 116, 0, 0, 0, 0, 27, 77, 121, 66, 111, 120, 46, 84, 105, 109, 101, 84, 101, 115, 116, 124, 84, 105, 109, 101, 84, 101, 115, 116, 68, 97, 116, 97, 0, 0, 0, 0, 21, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 71, 76, 68, 114, 97, 119, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 77, 121, 76, 111, 103, 103, 101, 114, 0, 0, 0, 0, 18, 77, 121, 66, 111, 120, 124, 87, 97, 114, 110, 105, 110, 103, 115, 80, 111, 111, 108, 0, 0, 0, 0, 24, 77, 121, 66, 111, 120, 124, 65, 99, 116, 105, 118, 101, 83, 116, 97, 116, 101, 79, 110, 83, 116, 97, 114, 116, 0, 0, 0, 0, 29, 77, 121, 66, 111, 120, 124, 65, 110, 105, 109, 97, 116, 105, 111, 110, 83, 116, 97, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 0, 0, 0, 0, 38, 77, 121, 66, 111, 120, 124, 65, 110, 105, 109, 97, 116, 105, 111, 110, 83, 116, 97, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 0, 0, 0, 0, 21, 77, 121, 66, 111, 120, 124, 65, 115, 115, 101, 116, 70, 111, 108, 100, 101, 114, 80, 97, 116, 104, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 65, 115, 115, 101, 116, 80, 97, 116, 104, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 66, 105, 108, 108, 98, 111, 97, 114, 100, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 124, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 87, 114, 97, 112, 112, 101, 114, 0, 0, 0, 0, 36, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 87, 114, 97, 112, 112, 101, 114, 66, 97, 115, 101, 0, 0, 0, 0, 19, 77, 121, 66, 111, 120, 124, 67, 111, 108, 108, 105, 100, 101, 114, 71, 105, 122, 109, 111, 0, 0, 0, 0, 20, 77, 121, 66, 111, 120, 124, 67, 111, 108, 108, 105, 100, 101, 114, 84, 111, 77, 101, 115, 104, 0, 0, 0, 0, 33, 77, 121, 66, 111, 120, 46, 67, 111, 108, 108, 105, 100, 101, 114, 84, 111, 77, 101, 115, 104, 124, 84, 114, 105, 97, 110, 103, 117, 108, 97, 116, 111, 114, 0, 0, 0, 0, 34, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 67, 111, 109, 109, 101, 110, 116, 97, 114, 121, 67, 111, 109, 112, 111, 110, 101, 110, 116, 0, 0, 0, 0, 20, 77, 121, 66, 111, 120, 124, 67, 111, 114, 111, 117, 116, 105, 110, 101, 71, 114, 111, 117, 112, 0, 0, 0, 0, 11, 124, 70, 80, 83, 67, 111, 117, 110, 116, 101, 114, 0, 0, 0, 0, 19, 77, 121, 66, 111, 120, 124, 71, 117, 105, 100, 67, 111, 109, 112, 111, 110, 101, 110, 116, 0, 0, 0, 0, 17, 77, 121, 66, 111, 120, 124, 71, 117, 105, 100, 77, 97, 110, 97, 103, 101, 114, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 46, 71, 117, 105, 100, 77, 97, 110, 97, 103, 101, 114, 124, 71, 117, 105, 100, 73, 110, 102, 111, 0, 0, 0, 0, 19, 77, 121, 66, 111, 120, 124, 71, 117, 105, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 0, 0, 0, 0, 17, 77, 121, 66, 111, 120, 124, 77, 105, 110, 77, 97, 120, 70, 108, 111, 97, 116, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 77, 105, 110, 77, 97, 120, 73, 110, 116, 0, 0, 0, 0, 22, 77, 121, 66, 111, 120, 124, 77, 105, 110, 77, 97, 120, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 14, 77, 121, 66, 111, 120, 124, 77, 121, 67, 117, 114, 115, 111, 114, 0, 0, 0, 0, 18, 77, 121, 66, 111, 120, 124, 77, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 0, 0, 0, 0, 30, 77, 121, 66, 111, 120, 46, 77, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 124, 80, 114, 105, 109, 101, 72, 101, 108, 112, 101, 114, 0, 0, 0, 0, 29, 77, 121, 66, 111, 120, 46, 77, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 124, 69, 110, 117, 109, 101, 114, 97, 116, 111, 114, 0, 0, 0, 0, 19, 77, 121, 66, 111, 120, 124, 79, 112, 116, 105, 111, 110, 97, 108, 70, 108, 111, 97, 116, 0, 0, 0, 0, 17, 77, 121, 66, 111, 120, 124, 79, 112, 116, 105, 111, 110, 97, 108, 73, 110, 116, 0, 0, 0, 0, 20, 77, 121, 66, 111, 120, 124, 79, 112, 116, 105, 111, 110, 97, 108, 83, 116, 114, 105, 110, 103, 0, 0, 0, 0, 21, 77, 121, 66, 111, 120, 124, 79, 112, 116, 105, 111, 110, 97, 108, 75, 101, 121, 67, 111, 100, 101, 0, 0, 0, 0, 24, 77, 121, 66, 111, 120, 124, 79, 112, 116, 105, 111, 110, 97, 108, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 124, 79, 112, 116, 105, 111, 110, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 79, 112, 116, 105, 111, 110, 97, 108, 0, 0, 0, 0, 29, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 79, 112, 116, 105, 111, 110, 97, 108, 80, 97, 114, 101, 110, 116, 0, 0, 0, 0, 20, 77, 121, 66, 111, 120, 124, 79, 112, 116, 105, 111, 110, 97, 108, 77, 105, 110, 77, 97, 120, 0, 0, 0, 0, 21, 77, 121, 66, 111, 120, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 66, 111, 111, 108, 0, 0, 0, 0, 22, 77, 121, 66, 111, 120, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 70, 108, 111, 97, 116, 0, 0, 0, 0, 20, 77, 121, 66, 111, 120, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 73, 110, 116, 0, 0, 0, 0, 23, 77, 121, 66, 111, 120, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 83, 116, 114, 105, 110, 103, 0, 0, 0, 0, 30, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 84, 121, 112, 101, 0, 0, 0, 0, 24, 77, 121, 66, 111, 120, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 86, 101, 99, 116, 111, 114, 50, 0, 0, 0, 0, 27, 77, 121, 66, 111, 120, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 86, 101, 99, 116, 111, 114, 50, 73, 110, 116, 0, 0, 0, 0, 24, 77, 121, 66, 111, 120, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 86, 101, 99, 116, 111, 114, 51, 0, 0, 0, 0, 27, 77, 121, 66, 111, 120, 124, 80, 108, 97, 121, 101, 114, 80, 114, 101, 102, 115, 86, 101, 99, 116, 111, 114, 51, 73, 110, 116, 0, 0, 0, 0, 27, 77, 121, 66, 111, 120, 124, 82, 101, 111, 114, 100, 101, 114, 97, 98, 108, 101, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 0, 0, 0, 0, 31, 77, 121, 66, 111, 120, 124, 82, 101, 111, 114, 100, 101, 114, 97, 98, 108, 101, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 76, 105, 115, 116, 0, 0, 0, 0, 26, 77, 121, 66, 111, 120, 124, 82, 101, 111, 114, 100, 101, 114, 97, 98, 108, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 0, 0, 0, 0, 30, 77, 121, 66, 111, 120, 124, 82, 101, 111, 114, 100, 101, 114, 97, 98, 108, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 76, 105, 115, 116, 0, 0, 0, 0, 17, 77, 121, 66, 111, 120, 124, 82, 101, 111, 114, 100, 101, 114, 97, 98, 108, 101, 0, 0, 0, 0, 21, 77, 121, 66, 111, 120, 124, 82, 101, 111, 114, 100, 101, 114, 97, 98, 108, 101, 76, 105, 115, 116, 0, 0, 0, 0, 30, 77, 121, 66, 111, 120, 46, 73, 110, 116, 101, 114, 110, 97, 108, 124, 82, 101, 111, 114, 100, 101, 114, 97, 98, 108, 101, 66, 97, 115, 101, 0, 0, 0, 0, 20, 77, 121, 66, 111, 120, 124, 83, 99, 101, 110, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 0, 0, 0, 0, 39, 77, 121, 66, 111, 120, 46, 83, 99, 101, 110, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 124, 83, 99, 101, 110, 101, 76, 111, 97, 100, 69, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 15, 77, 121, 66, 111, 120, 124, 83, 105, 110, 103, 108, 101, 116, 111, 110, 0, 0, 0, 0, 19, 77, 121, 66, 111, 120, 124, 84, 114, 97, 110, 115, 102, 111, 114, 109, 68, 97, 116, 97, 0, 0, 0, 0, 14, 77, 121, 66, 111, 120, 124, 85, 73, 70, 111, 108, 108, 111, 119, 0, 0, 0, 0, 24, 77, 121, 66, 111, 120, 124, 85, 73, 73, 109, 97, 103, 101, 66, 97, 115, 101, 100, 66, 117, 116, 116, 111, 110, 0, 0, 0, 0, 24, 77, 121, 66, 111, 120, 124, 85, 73, 82, 101, 108, 97, 116, 105, 118, 101, 80, 111, 115, 105, 116, 105, 111, 110, 0, 0, 0, 0, 14, 77, 121, 66, 111, 120, 124, 85, 73, 83, 105, 122, 101, 66, 121 }; result.TotalFiles = 95; result.TotalTypes = 125; result.IsEditorOnly = false; return result; } } namespace MyBox { [AttributeUsage(AttributeTargets.Field)] public class AutoPropertyAttribute : PropertyAttribute { public readonly AutoPropertyMode Mode; public readonly string PredicateMethodName; public readonly Type PredicateMethodTarget; public readonly bool AllowEmpty; public AutoPropertyAttribute(AutoPropertyMode mode = AutoPropertyMode.Children, string predicateMethodName = null, Type predicateMethodTarget = null, bool allowEmpty = false) { Mode = mode; PredicateMethodTarget = predicateMethodTarget; PredicateMethodName = predicateMethodName; AllowEmpty = allowEmpty; } } public enum AutoPropertyMode { Children, Parent, Scene, Asset, Any } [AttributeUsage(AttributeTargets.Method)] public class ButtonMethodAttribute : PropertyAttribute { public readonly ButtonMethodDrawOrder DrawOrder; public readonly ConditionalData Condition; public ButtonMethodAttribute(ButtonMethodDrawOrder drawOrder = ButtonMethodDrawOrder.AfterInspector) { DrawOrder = drawOrder; } public ButtonMethodAttribute(ButtonMethodDrawOrder drawOrder, string fieldToCheck, bool inverse = false, params object[] compareValues) { ConditionalData condition = new ConditionalData(fieldToCheck, inverse, compareValues); DrawOrder = drawOrder; Condition = condition; } public ButtonMethodAttribute(ButtonMethodDrawOrder drawOrder, string[] fieldToCheck, bool[] inverse = null, params object[] compare) { ConditionalData condition = new ConditionalData(fieldToCheck, inverse, compare); DrawOrder = drawOrder; Condition = condition; } public ButtonMethodAttribute(ButtonMethodDrawOrder drawOrder, params string[] fieldToCheck) { ConditionalData condition = new ConditionalData(fieldToCheck); DrawOrder = drawOrder; Condition = condition; } public ButtonMethodAttribute(ButtonMethodDrawOrder drawOrder, bool useMethod, string method, bool inverse = false) { ConditionalData condition = new ConditionalData(useMethod, method, inverse); DrawOrder = drawOrder; Condition = condition; } } public enum ButtonMethodDrawOrder { BeforeInspector, AfterInspector } public class CharactersRangeAttribute : PropertyAttribute { public readonly string Characters; public readonly CharacterRangeMode Mode; public readonly bool IgnoreCase; public CharactersRangeAttribute(string characters, CharacterRangeMode mode = CharacterRangeMode.Allow, bool ignoreCase = true) { Characters = characters; Mode = mode; IgnoreCase = ignoreCase; } } public enum CharacterRangeMode { Allow, Disallow, WarningIfAny, WarningIfNotMatch } [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] public class ConditionalFieldAttribute : PropertyAttribute { public readonly ConditionalData Data; public bool IsSet { get { if (Data != null) { return Data.IsSet; } return false; } } public ConditionalFieldAttribute(string fieldToCheck, bool inverse = false, params object[] compareValues) { Data = new ConditionalData(fieldToCheck, inverse, compareValues); } public ConditionalFieldAttribute(string[] fieldToCheck, bool[] inverse = null, params object[] compare) { Data = new ConditionalData(fieldToCheck, inverse, compare); } public ConditionalFieldAttribute(params string[] fieldToCheck) { Data = new ConditionalData(fieldToCheck); } public ConditionalFieldAttribute(bool useMethod, string method, bool inverse = false) { Data = new ConditionalData(useMethod, method, inverse); } } public class ConstantsSelectionAttribute : PropertyAttribute { public readonly Type SelectFromType; public ConstantsSelectionAttribute(Type type) { SelectFromType = type; } } public class DefinedValuesAttribute : PropertyAttribute { public readonly object[] ValuesArray; public readonly string[] LabelsArray; public readonly string UseMethod; public DefinedValuesAttribute(params object[] definedValues) { ValuesArray = definedValues; } public DefinedValuesAttribute(bool withLabels, params object[] definedValues) { int num = definedValues.Length / 2; ValuesArray = new object[num]; LabelsArray = new string[num]; int num2 = 0; int num3; for (num3 = 0; num3 < definedValues.Length; num3++) { ValuesArray[num2] = definedValues[num3]; LabelsArray[num2] = definedValues[++num3].ToString(); num2++; } } public DefinedValuesAttribute(string method) { UseMethod = method; } } public class DisplayInspectorAttribute : PropertyAttribute { public readonly bool DisplayScript; public DisplayInspectorAttribute(bool displayScriptField = true) { DisplayScript = displayScriptField; } } public class FoldoutAttribute : PropertyAttribute { public readonly string Name; public readonly bool FoldEverything; public FoldoutAttribute(string name, bool foldEverything = false) { FoldEverything = foldEverything; Name = name; } } public class InitializationFieldAttribute : PropertyAttribute { } public class LayerAttribute : PropertyAttribute { } public class MaxValueAttribute : AttributeBase { private readonly float _x; private readonly float _y; private readonly float _z; private readonly bool _vectorValuesSet; public MaxValueAttribute(float value) { _x = value; } public MaxValueAttribute(float x, float y, float z) { _x = x; _y = y; _z = z; _vectorValuesSet = true; } } public class MinMaxRangeAttribute : PropertyAttribute { public readonly float Min; public readonly float Max; public MinMaxRangeAttribute(float min, float max) { Min = min; Max = max; } } [Serializable] public struct RangedFloat { public float Min; public float Max; public RangedFloat(float min, float max) { Min = min; Max = max; } } [Serializable] public struct RangedInt { public int Min; public int Max; public RangedInt(int min, int max) { Min = min; Max = max; } } public static class RangedExtensions { public static float LerpFromRange(this RangedFloat ranged, float t) { return Mathf.Lerp(ranged.Min, ranged.Max, t); } public static float LerpFromRangeUnclamped(this RangedFloat ranged, float t) { return Mathf.LerpUnclamped(ranged.Min, ranged.Max, t); } public static float LerpFromRange(this RangedInt ranged, float t) { return Mathf.Lerp((float)ranged.Min, (float)ranged.Max, t); } public static float LerpFromRangeUnclamped(this RangedInt ranged, float t) { return Mathf.LerpUnclamped((float)ranged.Min, (float)ranged.Max, t); } } public class MinValueAttribute : AttributeBase { private readonly float _x; private readonly float _y; private readonly float _z; private readonly bool _vectorValuesSet; public MinValueAttribute(float value) { _x = value; } public MinValueAttribute(float x, float y, float z) { _x = x; _y = y; _z = z; _vectorValuesSet = true; } } [AttributeUsage(AttributeTargets.Field)] public class MustBeAssignedAttribute : PropertyAttribute { } public class OverrideLabelAttribute : PropertyAttribute { public readonly string NewLabel; public OverrideLabelAttribute(string newLabel) { NewLabel = newLabel; } } public class PositiveValueOnlyAttribute : PropertyAttribute { } [AttributeUsage(AttributeTargets.Field)] public sealed class RangeVectorAttribute : PropertyAttribute { public readonly Vector3 min = Vector3.zero; public readonly Vector3 max = Vector3.zero; public bool Valid { get; } = true; public RangeVectorAttribute(float[] min, float[] max) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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) if (min.Length > 3 || max.Length > 3) { Valid = false; return; } switch (min.Length) { case 3: this.min.x = min[0]; this.min.y = min[1]; this.min.z = min[2]; break; case 2: this.min.x = min[0]; this.min.y = min[1]; break; case 1: this.min.x = min[0]; break; } switch (max.Length) { case 3: this.max.x = max[0]; this.max.y = max[1]; this.max.z = max[2]; break; case 2: this.max.x = max[0]; this.max.y = max[1]; break; case 1: this.max.x = max[0]; break; } } } public class ReadOnlyAttribute : ConditionalFieldAttribute { public ReadOnlyAttribute(string fieldToCheck, bool inverse = false, params object[] compareValues) : base(fieldToCheck, inverse, compareValues) { } public ReadOnlyAttribute(string[] fieldToCheck, bool[] inverse = null, params object[] compare) : base(fieldToCheck, inverse, compare) { } public ReadOnlyAttribute(params string[] fieldToCheck) : base(fieldToCheck) { } public ReadOnlyAttribute(bool useMethod, string method, bool inverse = false) : base(useMethod, method, inverse) { } } public class RegexStringAttribute : PropertyAttribute { public readonly Regex Regex; public readonly RegexStringMode AttributeMode; public RegexStringAttribute(string regex, RegexStringMode mode = RegexStringMode.Match, RegexOptions options = RegexOptions.None) { Regex = new Regex(regex, options); AttributeMode = mode; } } public enum RegexStringMode { Match, Replace, WarningIfMatch, WarningIfNotMatch } [AttributeUsage(AttributeTargets.Class)] public class RequireLayerAttribute : Attribute { public readonly string LayerName; public readonly int LayerIndex = -1; public RequireLayerAttribute(string layer) { LayerName = layer; } public RequireLayerAttribute(int layer) { LayerIndex = layer; } } [AttributeUsage(AttributeTargets.Class)] public class RequireTagAttribute : Attribute { public string Tag; public RequireTagAttribute(string tag) { Tag = tag; } } [AttributeUsage(AttributeTargets.Field)] public class SceneAttribute : PropertyAttribute { } public class SearchableEnumAttribute : PropertyAttribute { } public class SeparatorAttribute : PropertyAttribute { public readonly string Title; public readonly bool WithOffset; public SeparatorAttribute() { Title = ""; } public SeparatorAttribute(string title, bool withOffset = false) { Title = title; WithOffset = withOffset; } } public class SpriteLayerAttribute : PropertyAttribute { } public class TagAttribute : PropertyAttribute { } [PublicAPI] public static class MyAlgorithms { public static T Cast(this IConvertible source) { return (T)Convert.ChangeType(source, typeof(T)); } public static bool Is(this object source) { return source is T; } public static T As(this object source) where T : class { return source as T; } public static T Pipe(this T argument, Action action) { action(argument); return argument; } public static TResult Pipe(this T argument, Func function) { return function(argument); } public static T PipeKeep(this T argument, Func function) { function(argument); return argument; } } [PublicAPI] public static class MyCollections { public static T[] InsertAt(this T[] array, int index) { if (index < 0) { Debug.LogError((object)"Index is less than zero. Array is not modified"); return array; } if (index > array.Length) { Debug.LogError((object)"Index exceeds array length. Array is not modified"); return array; } T[] array2 = new T[array.Length + 1]; int num = 0; for (int i = 0; i < array2.Length; i++) { if (i != index) { array2[i] = array[num]; num++; } } return array2; } public static T[] RemoveAt(this T[] array, int index) { if (index < 0) { Debug.LogError((object)"Index is less than zero. Array is not modified"); return array; } if (index >= array.Length) { Debug.LogError((object)"Index exceeds array length. Array is not modified"); return array; } T[] array2 = new T[array.Length - 1]; int num = 0; for (int i = 0; i < array.Length; i++) { if (i != index) { array2[num] = array[i]; num++; } } return array2; } public static T GetRandom(this T[] collection) { return collection[Random.Range(0, collection.Length)]; } public static T GetRandom(this IList collection) { return collection[Random.Range(0, collection.Count)]; } public static T GetRandom(this IEnumerable collection) { return collection.ElementAt(Random.Range(0, collection.Count())); } public static bool IsNullOrEmpty(this T[] collection) { if (collection != null) { return collection.Length == 0; } return true; } public static bool IsNullOrEmpty(this IList collection) { if (collection != null) { return collection.Count == 0; } return true; } public static bool IsNullOrEmpty(this IEnumerable collection) { if (collection != null) { return !collection.Any(); } return true; } public static bool NotNullOrEmpty(this T[] collection) { return !collection.IsNullOrEmpty(); } public static bool NotNullOrEmpty(this IList collection) { return !collection.IsNullOrEmpty(); } public static bool NotNullOrEmpty(this IEnumerable collection) { return !collection.IsNullOrEmpty(); } public static int NextIndexInCircle(this T[] array, int desiredPosition) { if (array.IsNullOrEmpty()) { Debug.LogError((object)"NextIndexInCircle Caused: source array is null or empty"); return -1; } int num = array.Length; if (num == 1) { return 0; } return (desiredPosition % num + num) % num; } public static int IndexOfItem(this IEnumerable collection, T item) { if (collection == null) { Debug.LogError((object)"IndexOfItem Caused: source collection is null"); return -1; } int num = 0; foreach (T item2 in collection) { if (object.Equals(item2, item)) { return num; } num++; } return -1; } public static bool ContentsMatch(this IEnumerable first, IEnumerable second) { if (first.IsNullOrEmpty() && second.IsNullOrEmpty()) { return true; } if (first.IsNullOrEmpty() || second.IsNullOrEmpty()) { return false; } int num = first.Count(); int num2 = second.Count(); if (num != num2) { return false; } foreach (T item in first) { if (!second.Contains(item)) { return false; } } return true; } public static bool ContentsMatchKeys(this IDictionary source, IEnumerable check) { if (source.IsNullOrEmpty() && check.IsNullOrEmpty()) { return true; } if (source.IsNullOrEmpty() || check.IsNullOrEmpty()) { return false; } return source.Keys.ContentsMatch(check); } public static bool ContentsMatchValues(this IDictionary source, IEnumerable check) { if (source.IsNullOrEmpty() && check.IsNullOrEmpty()) { return true; } if (source.IsNullOrEmpty() || check.IsNullOrEmpty()) { return false; } return source.Values.ContentsMatch(check); } public static TValue GetOrAddDefault(this IDictionary source, TKey key) where TValue : new() { if (!source.ContainsKey(key)) { source[key] = new TValue(); } return source[key]; } public static TValue GetOrAdd(this IDictionary source, TKey key, TValue value) { if (!source.ContainsKey(key)) { source[key] = value; } return source[key]; } public static TValue GetOrAdd(this IDictionary source, TKey key, Func valueFactory) { if (!source.ContainsKey(key)) { source[key] = valueFactory(); } return source[key]; } public static TValue GetOrAdd(this IDictionary source, TKey key, Func valueFactory) { if (!source.ContainsKey(key)) { source[key] = valueFactory(key); } return source[key]; } public static TValue GetOrAdd(this IDictionary source, TKey key, Func valueFactory, TArg factoryArgument) { if (!source.ContainsKey(key)) { source[key] = valueFactory(key, factoryArgument); } return source[key]; } public static IEnumerable ForEach(this IEnumerable source, Action action) { foreach (T item in source) { action(item); } return source; } public static IEnumerable ForEach(this IEnumerable source, Func func) { foreach (T item in source) { func(item); } return source; } public static IEnumerable ForEach(this IEnumerable source, Action action) { int num = 0; foreach (T item in source) { action(item, num); num++; } return source; } public static IEnumerable ForEach(this IEnumerable source, Func func) { int num = 0; foreach (T item in source) { func(item, num); num++; } return source; } public static T MaxBy(this IEnumerable source, Func selector) where S : IComparable { if (source.IsNullOrEmpty()) { Debug.LogError((object)"MaxBy Caused: source collection is null or empty"); return default(T); } return source.Aggregate((T e, T n) => (selector(e).CompareTo(selector(n)) <= 0) ? n : e); } public static T MinBy(this IEnumerable source, Func selector) where S : IComparable { if (source.IsNullOrEmpty()) { Debug.LogError((object)"MinBy Caused: source collection is null or empty"); return default(T); } return source.Aggregate((T e, T n) => (selector(e).CompareTo(selector(n)) >= 0) ? n : e); } public static IEnumerable SingleToEnumerable(this T source) { return Enumerable.Empty().Append(source); } public static int FirstIndex(this IList source, Predicate predicate) { for (int i = 0; i < source.Count; i++) { if (predicate(source[i])) { return i; } } return -1; } public static int FirstIndex(this IEnumerable source, Predicate predicate) { int num = 0; foreach (T item in source) { if (predicate(item)) { return num; } num++; } return -1; } public static int LastIndex(this IList source, Predicate predicate) { for (int num = source.Count - 1; num >= 0; num--) { if (predicate(source[num])) { return num; } } return -1; } public static int GetWeightedRandomIndex(this IEnumerable source, Func weightSelector) { IEnumerable weights = from w in source.Select(weightSelector) select (!(w < 0.0)) ? w : 0.0; IEnumerable source2 = weights.Select((double w, int i) => weights.Take(i + 1).Sum()); double roll = MyCommonConstants.SystemRandom.NextDouble() * weights.Sum(); return source2.FirstIndex((double ws) => ws > roll); } public static T GetWeightedRandom(this IList source, Func weightSelector) { return source[source.GetWeightedRandomIndex(weightSelector)]; } public static T GetWeightedRandom(this IEnumerable source, Func weightSelector) { return source.ElementAt(source.GetWeightedRandomIndex(weightSelector)); } public static IList FillBy(this IList source, Func valueFactory) { for (int i = 0; i < source.Count; i++) { source[i] = valueFactory(i); } return source; } public static T[] FillBy(this T[] source, Func valueFactory) { for (int i = 0; i < source.Length; i++) { source[i] = valueFactory(i); } return source; } public static T[] ExclusiveSample(this IList source, int sampleNumber) { if (sampleNumber > source.Count) { throw new ArgumentOutOfRangeException("Cannot sample more elements than what the source collection contains"); } T[] array = new T[sampleNumber]; int num = 0; for (int i = 0; i < source.Count; i++) { if (num >= sampleNumber) { break; } double num2 = (double)(sampleNumber - num) / (double)(source.Count - i); if (MyCommonConstants.SystemRandom.NextDouble() < num2) { array[num] = source[i]; num++; } } return array; } public static IList SwapInPlace(this IList source, int index1, int index2) { T val = source[index2]; T val2 = source[index1]; T val4 = (source[index1] = val); val4 = (source[index2] = val2); return source; } public static IList Shuffle(this IList source) { for (int i = 0; i < source.Count - 1; i++) { int index = Random.Range(i, source.Count); source.SwapInPlace(i, index); } return source; } } public static class MyColor { private const float LightOffset = 0.0625f; public static Color RandomBright => new Color(Random.Range(0.4f, 1f), Random.Range(0.4f, 1f), Random.Range(0.4f, 1f)); public static Color RandomDim => new Color(Random.Range(0.4f, 0.6f), Random.Range(0.4f, 0.8f), Random.Range(0.4f, 0.8f)); public static Color RandomColor => new Color(Random.Range(0.1f, 0.9f), Random.Range(0.1f, 0.9f), Random.Range(0.1f, 0.9f)); public static Color WithAlphaSetTo(this Color color, float a) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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_0013: Unknown result type (might be due to invalid IL or missing references) return new Color(color.r, color.g, color.b, a); } public static void SetAlpha(this Graphic graphic, float a) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) graphic.color = graphic.color.WithAlphaSetTo(a); } public static void SetAlpha(this SpriteRenderer renderer, float a) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) renderer.color = renderer.color.WithAlphaSetTo(a); } public static string ToHex(this Color color) { //IL_0005: 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_0029: Unknown result type (might be due to invalid IL or missing references) return $"#{(int)(color.r * 255f):X2}{(int)(color.g * 255f):X2}{(int)(color.b * 255f):X2}"; } public static Color Lighter(this Color color) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) return color.BrightnessOffset(0.0625f); } public static Color Darker(this Color color) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) return color.BrightnessOffset(-0.0625f); } public static Color BrightnessOffset(this Color color, float offset) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0018: 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) return new Color(color.r + offset, color.g + offset, color.b + offset, color.a); } public static Color ToUnityColor(this string source) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) Color result = default(Color); ColorUtility.TryParseHtmlString(source, ref result); return result; } } public class MyCommonConstants { public static readonly Random SystemRandom = new Random(); } public static class MyCoroutines { private static CoroutineOwner _coroutineOwner; private static CoroutineOwner CoroutineOwner { get { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: 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) if ((Object)(object)_coroutineOwner != (Object)null) { return _coroutineOwner; } GameObject val = new GameObject("Static Coroutine Owner"); Object.DontDestroyOnLoad((Object)val); ((Object)val).hideFlags = (HideFlags)61; _coroutineOwner = val.AddComponent(); return _coroutineOwner; } } public static Coroutine StartCoroutine(this IEnumerator coroutine) { return ((MonoBehaviour)CoroutineOwner).StartCoroutine(coroutine); } public static Coroutine StartNext(this Coroutine coroutine, IEnumerator nextCoroutine) { return StartNextCoroutine(coroutine, nextCoroutine).StartCoroutine(); } public static Coroutine OnComplete(this Coroutine coroutine, Action onComplete) { return OnCompleteCoroutine(coroutine, onComplete).StartCoroutine(); } public static void StopCoroutine(Coroutine coroutine) { ((MonoBehaviour)CoroutineOwner).StopCoroutine(coroutine); } public static void StopAllCoroutines() { ((MonoBehaviour)CoroutineOwner).StopAllCoroutines(); } public static CoroutineGroup CreateGroup(MonoBehaviour owner = null) { return new CoroutineGroup((MonoBehaviour)(object)(((Object)(object)owner != (Object)null) ? ((CoroutineOwner)(object)owner) : CoroutineOwner)); } private static IEnumerator StartNextCoroutine(Coroutine coroutine, IEnumerator nextCoroutine) { yield return coroutine; yield return nextCoroutine.StartCoroutine(); } private static IEnumerator OnCompleteCoroutine(Coroutine coroutine, Action onComplete) { yield return coroutine; onComplete?.Invoke(); } } public static class MyDebug { private static StringBuilder _stringBuilder; private static void PrepareStringBuilder() { if (_stringBuilder == null) { _stringBuilder = new StringBuilder(); } else { _stringBuilder.Clear(); } } public static void LogArray(T[] toLog) { PrepareStringBuilder(); _stringBuilder.Append("Log Array: ").Append(typeof(T).Name).Append(" (") .Append(toLog.Length) .Append(")\n"); for (int i = 0; i < toLog.Length; i++) { _stringBuilder.Append("\n\t").Append(i.ToString().Colored(Colors.brown)).Append(": ") .Append(toLog[i]); } Debug.Log((object)_stringBuilder.ToString()); } public static void LogArray(IList toLog) { PrepareStringBuilder(); int count = toLog.Count; _stringBuilder.Append("Log Array: ").Append(typeof(T).Name).Append(" (") .Append(count) .Append(")\n"); for (int i = 0; i < count; i++) { _stringBuilder.Append("\n\t" + i.ToString().Colored(Colors.brown) + ": " + toLog[i]); } Debug.Log((object)_stringBuilder.ToString()); } public static void LogColor(Color color) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0010: 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) string text = ColorUtility.ToHtmlStringRGB(color); Color val = color; Debug.Log((object)("████████████ = " + ((object)(Color)(ref val)).ToString())); } public static void DrawDebugBounds(MeshFilter mesh, Color color) { } public static void DrawDebugBounds(MeshRenderer renderer, Color color) { } public static void DrawDebugBounds(Bounds bounds, Color color) { } public static void DrawString(string text, Vector3 worldPos, Color? colour = null) { } public static void DrawArrowRay(Vector3 position, Vector3 direction, float headLength = 0.25f, float headAngle = 20f) { } public static void DrawDimensionalCross(Vector3 position, float size) { } } public static class MyDelayedActions { public static Coroutine DelayedAction(float waitSeconds, Action action, bool unscaled = false) { return DelayedActionCoroutine(waitSeconds, action, unscaled).StartCoroutine(); } public static void DelayedAction(Action action) { Coroutine().StartCoroutine(); IEnumerator Coroutine() { yield return null; action?.Invoke(); } } public static Coroutine DelayedAction(this MonoBehaviour invoker, float waitSeconds, Action action, bool unscaled = false) { return invoker.StartCoroutine(DelayedActionCoroutine(waitSeconds, action, unscaled)); } public static Coroutine DelayedAction(this MonoBehaviour invoker, Action action) { return invoker.StartCoroutine(Coroutine()); IEnumerator Coroutine() { yield return null; action?.Invoke(); } } public static IEnumerator DelayedUiSelection(GameObject objectToSelect) { yield return null; EventSystem.current.SetSelectedGameObject((GameObject)null); EventSystem.current.SetSelectedGameObject(objectToSelect); } public static Coroutine DelayedUiSelection(this MonoBehaviour invoker, GameObject objectToSelect) { return invoker.StartCoroutine(DelayedUiSelection(objectToSelect)); } private static IEnumerator DelayedActionCoroutine(float waitSeconds, Action action, bool unscaled = false) { if (unscaled) { yield return (object)new WaitForSecondsRealtime(waitSeconds); } else { yield return (object)new WaitForSeconds(waitSeconds); } action?.Invoke(); } } public static class MyExtensions { public struct ComponentOfInterface { public readonly Component Component; public readonly T Interface; public ComponentOfInterface(Component component, T @interface) { Component = component; Interface = @interface; } } public static void Swap(this T[] array, int a, int b) { T val = array[b]; T val2 = array[a]; array[a] = val; array[b] = val2; } public static bool IsWorldPointInViewport(this Camera camera, Vector3 point) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) Vector3 val = camera.WorldToViewportPoint(point); if (val.x > 0f) { return val.y > 0f; } return false; } public static Vector3 WorldPointOffsetByDepth(this Camera camera, Vector3 source, float distanceFromCamera, MonoOrStereoscopicEye eye = 2) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: 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_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_0012: Unknown result type (might be due to invalid IL or missing references) Vector3 vector = camera.WorldToScreenPoint(source, eye); return camera.ScreenToWorldPoint(vector.SetZ(distanceFromCamera), eye); } public static void ResetPosition(this Transform transform) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) transform.position = Vector3.zero; } public static Transform SetLossyScale(this Transform source, Vector3 targetLossyScale) { //IL_0002: 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_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) source.localScale = source.lossyScale.Pow(-1f).ScaleBy(targetLossyScale).ScaleBy(source.localScale); return source; } public static T SetLayerRecursively(this T source, string layerName) where T : Component { ((Component)source).gameObject.SetLayerRecursively(LayerMask.NameToLayer(layerName)); return source; } public static T SetLayerRecursively(this T source, int layer) where T : Component { ((Component)source).gameObject.SetLayerRecursively(layer); return source; } public static GameObject SetLayerRecursively(this GameObject source, string layerName) { source.SetLayerRecursively(LayerMask.NameToLayer(layerName)); return source; } public static GameObject SetLayerRecursively(this GameObject source, int layer) { Transform[] componentsInChildren = source.GetComponentsInChildren(true); for (int i = 0; i < componentsInChildren.Length; i++) { ((Component)componentsInChildren[i]).gameObject.layer = layer; } return source; } public static T GetOrAddComponent(this GameObject gameObject) where T : Component { T component = gameObject.GetComponent(); if ((Object)(object)component != (Object)null) { return component; } return gameObject.AddComponent(); } public static T GetOrAddComponent(this Component component) where T : Component { return component.gameObject.GetOrAddComponent(); } public static bool HasComponent(this GameObject gameObject) { return gameObject.GetComponent() != null; } public static bool HasComponent(this Component component) { return component.GetComponent() != null; } public static List GetChildsWhere(this Transform transform, Predicate match) { List list = new List(); RecursiveCheck(transform); return list; void RecursiveCheck(Transform parent) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Expected O, but got Unknown foreach (Transform item in parent) { Transform val = item; RecursiveCheck(val); if (match(val)) { list.Add(val); } } } } public static List GetObjectsOfLayerInChilds(this GameObject gameObject, int layer) { return gameObject.transform.GetChildsWhere((Transform t) => ((Component)t).gameObject.layer == layer); } public static List GetObjectsOfLayerInChilds(this GameObject gameObject, string layer) { return gameObject.GetObjectsOfLayerInChilds(LayerMask.NameToLayer(layer)); } public static List GetObjectsOfLayerInChilds(this Component component, string layer) { return component.GetObjectsOfLayerInChilds(LayerMask.NameToLayer(layer)); } public static List GetObjectsOfLayerInChilds(this Component component, int layer) { return component.gameObject.GetObjectsOfLayerInChilds(layer); } public static void SetBodyState(this Rigidbody body, bool state) { body.isKinematic = !state; body.detectCollisions = state; } public static T[] FindObjectsOfInterface() where T : class { return (from behaviour in Object.FindObjectsOfType() select ((Component)behaviour).GetComponent(typeof(T))).OfType().ToArray(); } public static ComponentOfInterface[] FindObjectsOfInterfaceAsComponents() where T : class { return (from c in Object.FindObjectsOfType() where c is T select new ComponentOfInterface(c, c as T)).ToArray(); } public static T[] OnePerInstance(this T[] components) where T : Component { if (components == null || components.Length == 0) { return null; } return (from h in components group h by ((Object)((Component)h).transform).GetInstanceID() into g select g.First()).ToArray(); } public static RaycastHit2D[] OneHitPerInstance(this RaycastHit2D[] hits) { if (hits == null || hits.Length == 0) { return null; } return (from h in hits group h by ((Object)((RaycastHit2D)(ref h)).transform).GetInstanceID() into g select g.First()).ToArray(); } public static Collider2D[] OneHitPerInstance(this Collider2D[] hits) { if (hits == null || hits.Length == 0) { return null; } return (from h in hits group h by ((Object)((Component)h).transform).GetInstanceID() into g select g.First()).ToArray(); } public static List OneHitPerInstanceList(this Collider2D[] hits) { if (hits == null || hits.Length == 0) { return null; } return (from h in hits group h by ((Object)((Component)h).transform).GetInstanceID() into g select g.First()).ToList(); } } public static class MyGizmos { public static void DrawArrow(Vector3 from, Vector3 direction, float headLength = 0.25f, float headAngle = 20f) { } } public static class MyInput { public static bool GetNumberDown(int num) { switch (num) { case 0: if (Input.GetKeyDown((KeyCode)48) || Input.GetKeyDown((KeyCode)256)) { return true; } break; case 1: if (Input.GetKeyDown((KeyCode)49) || Input.GetKeyDown((KeyCode)257)) { return true; } break; case 2: if (Input.GetKeyDown((KeyCode)50) || Input.GetKeyDown((KeyCode)258)) { return true; } break; case 3: if (Input.GetKeyDown((KeyCode)51) || Input.GetKeyDown((KeyCode)259)) { return true; } break; case 4: if (Input.GetKeyDown((KeyCode)52) || Input.GetKeyDown((KeyCode)260)) { return true; } break; case 5: if (Input.GetKeyDown((KeyCode)53) || Input.GetKeyDown((KeyCode)261)) { return true; } break; case 6: if (Input.GetKeyDown((KeyCode)54) || Input.GetKeyDown((KeyCode)262)) { return true; } break; case 7: if (Input.GetKeyDown((KeyCode)55) || Input.GetKeyDown((KeyCode)263)) { return true; } break; case 8: if (Input.GetKeyDown((KeyCode)56) || Input.GetKeyDown((KeyCode)264)) { return true; } break; case 9: if (Input.GetKeyDown((KeyCode)57) || Input.GetKeyDown((KeyCode)265)) { return true; } break; } return false; } public static int GetNumberDown(KeyCode key) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Invalid comparison between Unknown and I4 //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Invalid comparison between Unknown and I4 //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Invalid comparison between Unknown and I4 //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Invalid comparison between Unknown and I4 //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Invalid comparison between Unknown and I4 //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Invalid comparison between Unknown and I4 //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Invalid comparison between Unknown and I4 //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Invalid comparison between Unknown and I4 //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Invalid comparison between Unknown and I4 //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Invalid comparison between Unknown and I4 //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Invalid comparison between Unknown and I4 //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Invalid comparison between Unknown and I4 //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Invalid comparison between Unknown and I4 //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Invalid comparison between Unknown and I4 //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Invalid comparison between Unknown and I4 //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Invalid comparison between Unknown and I4 //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Invalid comparison between Unknown and I4 if ((int)key == 48 || (int)key == 256) { return 0; } if ((int)key == 49 || (int)key == 257) { return 1; } if ((int)key == 50 || (int)key == 258) { return 2; } if ((int)key == 51 || (int)key == 259) { return 3; } if ((int)key == 52 || (int)key == 260) { return 4; } if ((int)key == 53 || (int)key == 261) { return 5; } if ((int)key == 54 || (int)key == 262) { return 6; } if ((int)key == 55 || (int)key == 263) { return 7; } if ((int)key == 56 || (int)key == 264) { return 8; } if ((int)key == 57 || (int)key == 265) { return 9; } return -1; } public static int GetNumberDown() { if (Input.GetKeyDown((KeyCode)48) || Input.GetKeyDown((KeyCode)256)) { return 0; } if (Input.GetKeyDown((KeyCode)49) || Input.GetKeyDown((KeyCode)257)) { return 1; } if (Input.GetKeyDown((KeyCode)50) || Input.GetKeyDown((KeyCode)258)) { return 2; } if (Input.GetKeyDown((KeyCode)51) || Input.GetKeyDown((KeyCode)259)) { return 3; } if (Input.GetKeyDown((KeyCode)52) || Input.GetKeyDown((KeyCode)260)) { return 4; } if (Input.GetKeyDown((KeyCode)53) || Input.GetKeyDown((KeyCode)261)) { return 5; } if (Input.GetKeyDown((KeyCode)54) || Input.GetKeyDown((KeyCode)262)) { return 6; } if (Input.GetKeyDown((KeyCode)55) || Input.GetKeyDown((KeyCode)263)) { return 7; } if (Input.GetKeyDown((KeyCode)56) || Input.GetKeyDown((KeyCode)264)) { return 8; } if (Input.GetKeyDown((KeyCode)57) || Input.GetKeyDown((KeyCode)265)) { return 9; } return -1; } public static string ToReadableString(this KeyCode key, bool full = false) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected I4, but got Unknown switch (key - 323) { case 0: if (!full) { return "LMB"; } return "Left Mouse Button"; case 1: if (!full) { return "RMB"; } return "Right Mouse Button"; case 2: if (!full) { return "MMB"; } return "Middle Mouse Button"; default: return Regex.Replace(((object)(KeyCode)(ref key)).ToString(), "(\\B[A-Z])", " $1"); } } public static bool AnyKeyDown(KeyCode key1, KeyCode key2) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) if (!Input.GetKeyDown(key1)) { return Input.GetKeyDown(key2); } return true; } public static bool AnyKeyDown(KeyCode key1, KeyCode key2, KeyCode key3) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: 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) if (!AnyKeyDown(key1, key2)) { return Input.GetKeyDown(key3); } return true; } public static bool IsLeft() { return AnyKeyDown((KeyCode)97, (KeyCode)276, (KeyCode)260); } public static bool IsRight() { return AnyKeyDown((KeyCode)100, (KeyCode)275, (KeyCode)262); } public static bool IsUp() { return AnyKeyDown((KeyCode)119, (KeyCode)273, (KeyCode)264); } public static bool IsDown() { return AnyKeyDown((KeyCode)115, (KeyCode)274, (KeyCode)258); } public static int KeypadDirection() { if (IsLeft()) { return 4; } if (IsRight()) { return 6; } if (IsUp()) { return 8; } if (IsDown()) { return 2; } if (Input.GetKeyDown((KeyCode)257)) { return 1; } if (Input.GetKeyDown((KeyCode)259)) { return 3; } if (Input.GetKeyDown((KeyCode)263)) { return 7; } if (Input.GetKeyDown((KeyCode)265)) { return 9; } return 0; } public static int KeypadX() { if (IsLeft()) { return -1; } if (IsRight()) { return 1; } if (Input.GetKeyDown((KeyCode)257)) { return -1; } if (Input.GetKeyDown((KeyCode)263)) { return -1; } if (Input.GetKeyDown((KeyCode)259)) { return 1; } if (Input.GetKeyDown((KeyCode)265)) { return 1; } return 0; } public static int KeypadY() { if (IsUp()) { return 1; } if (IsDown()) { return -1; } if (Input.GetKeyDown((KeyCode)257)) { return -1; } if (Input.GetKeyDown((KeyCode)259)) { return -1; } if (Input.GetKeyDown((KeyCode)263)) { return 1; } if (Input.GetKeyDown((KeyCode)265)) { return 1; } return 0; } } public static class MyLayers { public static LayerMask ToLayerMask(int layer) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return LayerMask.op_Implicit(1 << layer); } public static bool LayerInMask(this LayerMask mask, int layer) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return ((1 << layer) & LayerMask.op_Implicit(mask)) != 0; } } public static class MyMath { public static void Swap(ref T a, ref T b) { T val = b; T val2 = a; a = val; b = val2; } public static float Clamp(this float value, float min, float max) { return Mathf.Clamp(value, min, max); } public static int Clamp(this int value, int min, int max) { return Mathf.Clamp(value, min, max); } public static float Snap(this float val, float round) { return round * Mathf.Round(val / round); } public static float Round(this float val) { return Mathf.Round(val); } public static int RoundToInt(this float val) { return Mathf.RoundToInt(val); } public static int Sign(IComparable x) { return x.CompareTo(0); } public static bool Approximately(this float value, float compare) { return Mathf.Approximately(value, compare); } public static bool InRange01(this float value) { return value.InRange(0f, 1f); } public static bool InRange(this T value, T closedLeft, T openRight) where T : IComparable { if (value.CompareTo(closedLeft) >= 0) { return value.CompareTo(openRight) < 0; } return false; } public static bool InRange(this float value, RangedFloat range) { return value.InRange(range.Min, range.Max); } public static bool InRange(this int value, RangedInt range) { return value.InRange(range.Min, range.Max); } public static bool InRangeInclusive(this T value, T closedLeft, T closedRight) where T : IComparable { if (value.CompareTo(closedLeft) >= 0) { return value.CompareTo(closedRight) <= 0; } return false; } public static bool InRangeInclusive(this float value, RangedFloat range) { return value.InRangeInclusive(range.Min, range.Max); } public static bool InRangeInclusive(this int value, RangedInt range) { return value.InRangeInclusive(range.Min, range.Max); } public static float NotInRange(this float num, float min, float max) { if (min > max) { float num2 = max; float num3 = min; min = num2; max = num3; } if (num < min || num > max) { return num; } float num4 = (max - min) / 2f; if (num > min) { if (!(num + num4 < max)) { return max; } return min; } if (!(num - num4 > min)) { return min; } return max; } public static int NotInRange(this int num, int min, int max) { return (int)((float)num).NotInRange((float)min, (float)max); } public static float ClosestPoint(this float num, float pointA, float pointB) { if (pointA > pointB) { float num2 = pointB; float num3 = pointA; pointA = num2; pointB = num3; } float num4 = (pointB - pointA) / 2f; if (!(num.NotInRange(pointA, pointB) + num4 >= pointB)) { return pointA; } return pointB; } public static bool ClosestPointIsA(this float num, float pointA, float pointB) { return Mathf.Approximately(num.ClosestPoint(pointA, pointB), pointA); } } public static class MyNavMesh { public static float GetLength(this NavMeshPath path) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) Vector3[] corners = path.corners; float num = 0f; for (int i = 1; i < corners.Length; i++) { num += Vector3.Distance(corners[i - 1], corners[i]); } return num; } public static float GetTimeToPass(this NavMeshPath path, float speed) { return path.GetLength() / speed + (float)(path.corners.Length - 1) * 0.5f; } public static Vector3 GetPointOnPath(this NavMeshPath path, float rate) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_005d: 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_0062: Unknown result type (might be due to invalid IL or missing references) rate = Mathf.Clamp01(rate); float length = path.GetLength(); float num = 0f; for (int i = 1; i < path.corners.Length; i++) { Vector3 val = path.corners[i - 1]; Vector3 val2 = path.corners[i]; float num2 = Vector3.Distance(val, val2) / length; num += num2; if (rate <= num) { float num3 = num - rate; float num4 = 1f - num3 / num2; return Vector3.Lerp(val, val2, num4); } } return path.corners[path.corners.Length - 1]; } public static IEnumerable GetPointsOnPath(this NavMeshPath path, float distance = 1f) { float pieceTraversedDistance = 0f; for (int i = 1; i < path.corners.Length; i++) { Vector3 from = path.corners[i - 1]; Vector3 to = path.corners[i]; float pieceLength; for (pieceLength = Vector3.Distance(from, to); pieceTraversedDistance < pieceLength + distance; pieceTraversedDistance += distance) { float num = pieceTraversedDistance / pieceLength; yield return Vector3.Lerp(from, to, num); } pieceTraversedDistance -= pieceLength; } } } public static class MyObsoleteExtensions { [Obsolete("1.6.3: Use MyCollections.GetOrAdd instead")] public static TValue GetOrDefault(this IDictionary source, TKey key, TValue customDefault = default(TValue)) { return source.GetOrAdd(key, customDefault); } [Obsolete("1.6.3: Use MyCollections.GetOrAdd instead")] public static TValue GetOrDefault(this IDictionary source, TKey key, Func customDefaultGenerator) { return source.GetOrAdd(key, customDefaultGenerator()); } } public static class MyPhysics { public static Rigidbody ToggleConstraints(this Rigidbody source, RigidbodyConstraints constraints, bool state) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) source.constraints = source.constraints.BitwiseToggle(constraints, state); return source; } public static Rigidbody2D ToggleConstraints(this Rigidbody2D source, RigidbodyConstraints2D constraints, bool state) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) source.constraints = source.constraints.BitwiseToggle(constraints, state); return source; } } public static class MyPhysicsExtensions { public static RigidbodyConstraints BitwiseToggle(this RigidbodyConstraints source, RigidbodyConstraints bitMask, bool state) { //IL_0008: 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_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: 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_0006: Unknown result type (might be due to invalid IL or missing references) if (!state) { return (RigidbodyConstraints)(source & ~bitMask); } return (RigidbodyConstraints)(source | bitMask); } public static RigidbodyConstraints2D BitwiseToggle(this RigidbodyConstraints2D source, RigidbodyConstraints2D bitMask, bool state) { //IL_0008: 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_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: 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_0006: Unknown result type (might be due to invalid IL or missing references) if (!state) { return (RigidbodyConstraints2D)(source & ~bitMask); } return (RigidbodyConstraints2D)(source | bitMask); } } public static class MyReflection { public static bool HasMethod(this object target, string methodName) { return target.GetType().GetMethod(methodName) != null; } public static bool HasField(this object target, string fieldName) { return target.GetType().GetField(fieldName) != null; } public static bool HasProperty(this object target, string propertyName) { return target.GetType().GetProperty(propertyName) != null; } } public static class MyRegex { public const string WholeNumber = "^-?\\d+$"; public const string FloatingNumber = "^-?\\d*(\\.\\d+)?$"; public const string AlphanumericWithoutSpace = "^[a-zA-Z0-9]*$"; public const string AlphanumericWithSpace = "^[a-zA-Z0-9 ]*$"; public const string Email = "^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6})*$"; public const string URL = "(https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)"; public static string KeepMatching(this Regex regex, string input) { return regex.Matches(input).Cast().Aggregate(string.Empty, (string a, Match m) => a + m.Value); } } public static class MyString { public static bool IsNullOrEmpty(this string str) { return string.IsNullOrEmpty(str); } public static bool NotNullOrEmpty(this string str) { return !string.IsNullOrEmpty(str); } public static string RemoveStart(this string str, string remove) { int num = str.IndexOf(remove, StringComparison.Ordinal); if (num >= 0) { return str.Remove(num, remove.Length); } return str; } public static string RemoveEnd(this string str, string remove) { if (!str.EndsWith(remove)) { return str; } return str.Remove(str.LastIndexOf(remove, StringComparison.Ordinal)); } public static string ToCamelCase(this string message) { message = message.Replace("-", " ").Replace("_", " "); message = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(message); message = message.Replace(" ", ""); return message; } public static string SplitCamelCase(this string camelCaseString) { if (string.IsNullOrEmpty(camelCaseString)) { return camelCaseString; } string text = Regex.Replace(Regex.Replace(camelCaseString, "(\\P{Ll})(\\P{Ll}\\p{Ll})", "$1 $2"), "(\\p{Ll})(\\P{Ll})", "$1 $2"); string text2 = text.Substring(0, 1).ToUpper(); if (camelCaseString.Length > 1) { string text3 = text.Substring(1); return text2 + text3; } return text2; } public static T AsEnum(this string source, bool ignoreCase = true) where T : Enum { return (T)Enum.Parse(typeof(T), source, ignoreCase); } public static string ToRoman(this int i) { if (i > 999) { return "M" + (i - 1000).ToRoman(); } if (i > 899) { return "CM" + (i - 900).ToRoman(); } if (i > 499) { return "D" + (i - 500).ToRoman(); } if (i > 399) { return "CD" + (i - 400).ToRoman(); } if (i > 99) { return "C" + (i - 100).ToRoman(); } if (i > 89) { return "XC" + (i - 90).ToRoman(); } if (i > 49) { return "L" + (i - 50).ToRoman(); } if (i > 39) { return "XL" + (i - 40).ToRoman(); } if (i > 9) { return "X" + (i - 10).ToRoman(); } if (i > 8) { return "IX" + (i - 9).ToRoman(); } if (i > 4) { return "V" + (i - 5).ToRoman(); } if (i > 3) { return "IV" + (i - 4).ToRoman(); } if (i > 0) { return "I" + (i - 1).ToRoman(); } return ""; } public static string SurroundedWith(this string message, string surround) { return surround + message + surround; } public static string SurroundedWith(this string message, string start, string end) { return start + message + end; } public static string Colored(this string message, Colors color) { return $"{message}"; } public static string Colored(this string message, Color color) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) return "" + message + ""; } public static string Colored(this string message, string colorCode) { return "" + message + ""; } public static string Sized(this string message, int size) { return $"{message}"; } public static string Underlined(this string message) { return "" + message + ""; } public static string Bold(this string message) { return "" + message + ""; } public static string Italics(this string message) { return "" + message + ""; } } public enum Colors { aqua, black, blue, brown, cyan, darkblue, fuchsia, green, grey, lightblue, lime, magenta, maroon, navy, olive, purple, red, silver, teal, white, yellow } public static class MyTexture { public static Sprite AsSprite(this Texture2D texture) { //IL_0031: 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) Rect val = default(Rect); ((Rect)(ref val))..ctor(0f, 0f, (float)((Texture)texture).width, (float)((Texture)texture).height); Vector2 val2 = default(Vector2); ((Vector2)(ref val2))..ctor(0.5f, 0.5f); return Sprite.Create(texture, val, val2); } public static Texture2D Resample(this Texture2D source, int targetWidth, int targetHeight) { //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Expected O, but got Unknown //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: 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_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: 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_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) int width = ((Texture)source).width; int height = ((Texture)source).height; float num = (float)width / (float)height; float num2 = (float)targetWidth / (float)targetHeight; int num3 = 0; int num4 = 0; float num5; if (num > num2) { num5 = (float)targetHeight / (float)height; num3 = (int)(((float)width - (float)height * num2) * 0.5f); } else { num5 = (float)targetWidth / (float)width; num4 = (int)(((float)height - (float)width / num2) * 0.5f); } Color32[] pixels = source.GetPixels32(); Color32[] array = (Color32[])(object)new Color32[targetWidth * targetHeight]; Vector2 val = default(Vector2); for (int i = 0; i < targetHeight; i++) { for (int j = 0; j < targetWidth; j++) { ((Vector2)(ref val))..ctor(Mathf.Clamp((float)num3 + (float)j / num5, 0f, (float)(width - 1)), Mathf.Clamp((float)num4 + (float)i / num5, 0f, (float)(height - 1))); Color32 val2 = pixels[Mathf.FloorToInt(val.x) + width * Mathf.FloorToInt(val.y)]; Color32 val3 = pixels[Mathf.FloorToInt(val.x) + width * Mathf.CeilToInt(val.y)]; Color32 val4 = pixels[Mathf.CeilToInt(val.x) + width * Mathf.FloorToInt(val.y)]; Color32 val5 = pixels[Mathf.CeilToInt(val.x) + width * Mathf.CeilToInt(val.y)]; array[j + i * targetWidth] = Color32.op_Implicit(Color.Lerp(Color.Lerp(Color32.op_Implicit(val2), Color32.op_Implicit(val3), val.y), Color.Lerp(Color32.op_Implicit(val4), Color32.op_Implicit(val5), val.y), val.x)); } } Texture2D val6 = new Texture2D(targetWidth, targetHeight); val6.SetPixels32(array); val6.Apply(true); return val6; } public static Texture2D Crop(this Texture2D original, int left, int right, int top, int down, float brightnessOffset = 0f) { //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Expected O, but got Unknown //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) int num = left + right; int num2 = top + down; int num3 = ((Texture)original).width - num; int num4 = ((Texture)original).height - num2; Color[] pixels = original.GetPixels(left, down, num3, num4); if (!Mathf.Approximately(brightnessOffset, 0f)) { for (int i = 0; i < pixels.Length; i++) { pixels[i] = pixels[i].BrightnessOffset(brightnessOffset); } } Texture2D val = new Texture2D(num3, num4, (TextureFormat)3, false); val.SetPixels(pixels); val.Apply(); return val; } public static Texture2D WithSolidColor(this Texture2D original, Color color) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001d: Unknown result type (might be due to invalid IL or missing references) Texture2D val = new Texture2D(((Texture)original).width, ((Texture)original).height); for (int i = 0; i < ((Texture)val).width; i++) { for (int j = 0; j < ((Texture)val).height; j++) { val.SetPixel(i, j, color); } } val.Apply(); return val; } } public static class MyUI { public static void SetCanvasState(CanvasGroup canvas, bool setOn) { canvas.alpha = (setOn ? 1 : 0); canvas.interactable = setOn; canvas.blocksRaycasts = setOn; } public static void SetState(this CanvasGroup canvas, bool isOn) { SetCanvasState(canvas, isOn); } public static void SetWidth(this RectTransform transform, float width) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.sizeDelta = transform.sizeDelta.SetX(width); } public static void SetHeight(this RectTransform transform, float height) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.sizeDelta = transform.sizeDelta.SetY(height); } public static void SetPositionX(this RectTransform transform, float x) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.anchoredPosition = transform.anchoredPosition.SetX(x); } public static void SetPositionY(this RectTransform transform, float y) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.anchoredPosition = transform.anchoredPosition.SetY(y); } public static void OffsetPositionX(this RectTransform transform, float x) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.anchoredPosition = transform.anchoredPosition.OffsetX(x); } public static void OffsetPositionY(this RectTransform transform, float y) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.anchoredPosition = transform.anchoredPosition.OffsetY(y); } public static Entry OnEventSubscribe(this EventTrigger trigger, EventTriggerType eventType, Action callback) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown Entry val = new Entry(); val.eventID = eventType; val.callback = new TriggerEvent(); ((UnityEvent)(object)val.callback).AddListener((UnityAction)callback.Invoke); trigger.triggers.Add(val); return val; } public static void OnEventUnsubscribe(this EventTrigger trigger, Entry entry) { trigger.triggers.Add(entry); } public static RectTransform ShiftAnchor(this RectTransform source, Vector2 delta) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: 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_001a: Unknown result type (might be due to invalid IL or missing references) source.anchorMin += delta; source.anchorMax += delta; return source; } public static RectTransform ShiftAnchor(this RectTransform source, float x, float y) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) return source.ShiftAnchor(new Vector2(x, y)); } public static Vector2 GetAnchorCenter(this RectTransform source) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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_0016: Unknown result type (might be due to invalid IL or missing references) return (source.anchorMin + source.anchorMax) / 2f; } public static Vector2 GetAnchorDelta(this RectTransform source) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return source.anchorMax - source.anchorMin; } } [PublicAPI] public static class MyUnityEventExtensions { public static UnityEvent Once(this UnityEvent source, UnityAction action) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Expected O, but got Unknown source.AddListener(new UnityAction(WrapperAction)); return source; void WrapperAction() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown source.RemoveListener(new UnityAction(WrapperAction)); action.Invoke(); } } public static UnityEvent Once(this UnityEvent source, UnityAction action) { source.AddListener((UnityAction)WrapperAction); return source; void WrapperAction(T p) { source.RemoveListener((UnityAction)WrapperAction); action.Invoke(p); } } public static UnityEvent Once(this UnityEvent source, UnityAction action) { source.AddListener((UnityAction)WrapperAction); return source; void WrapperAction(T0 p0, T1 p1) { source.RemoveListener((UnityAction)WrapperAction); action.Invoke(p0, p1); } } public static UnityEvent Once(this UnityEvent source, UnityAction action) { source.AddListener((UnityAction)WrapperAction); return source; void WrapperAction(T0 p0, T1 p1, T2 p2) { source.RemoveListener((UnityAction)WrapperAction); action.Invoke(p0, p1, p2); } } public static UnityEvent Once(this UnityEvent source, UnityAction action) { source.AddListener((UnityAction)WrapperAction); return source; void WrapperAction(T0 p0, T1 p1, T2 p2, T3 p3) { source.RemoveListener((UnityAction)WrapperAction); action.Invoke(p0, p1, p2, p3); } } } public static class MyVectors { public static Vector3 SetX(this Vector3 vector, float x) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return new Vector3(x, vector.y, vector.z); } public static Vector2 SetX(this Vector2 vector, float x) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) return new Vector2(x, vector.y); } public static void SetX(this Transform transform, float x) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.SetX(x); } public static Vector3 SetY(this Vector3 vector, float y) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return new Vector3(vector.x, y, vector.z); } public static Vector2 SetY(this Vector2 vector, float y) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) return new Vector2(vector.x, y); } public static void SetY(this Transform transform, float y) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.SetY(y); } public static Vector3 SetZ(this Vector3 vector, float z) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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) return new Vector3(vector.x, vector.y, z); } public static void SetZ(this Transform transform, float z) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.SetZ(z); } public static Vector3 SetXY(this Vector3 vector, float x, float y) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return new Vector3(x, y, vector.z); } public static void SetXY(this Transform transform, float x, float y) { //IL_0002: 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) transform.position = transform.position.SetXY(x, y); } public static Vector3 SetXZ(this Vector3 vector, float x, float z) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return new Vector3(x, vector.y, z); } public static void SetXZ(this Transform transform, float x, float z) { //IL_0002: 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) transform.position = transform.position.SetXZ(x, z); } public static Vector3 SetYZ(this Vector3 vector, float y, float z) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return new Vector3(vector.x, y, z); } public static void SetYZ(this Transform transform, float y, float z) { //IL_0002: 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) transform.position = transform.position.SetYZ(y, z); } public static Vector3 Offset(this Vector3 vector, Vector2 offset) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) return vector.OffsetXY(offset); } public static Vector3 OffsetX(this Vector3 vector, float x) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: 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) return new Vector3(vector.x + x, vector.y, vector.z); } public static Vector2 OffsetX(this Vector2 vector, float x) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return new Vector2(vector.x + x, vector.y); } public static void OffsetX(this Transform transform, float x) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.OffsetX(x); } public static Vector3 OffsetY(this Vector3 vector, float y) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000e: 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) return new Vector3(vector.x, vector.y + y, vector.z); } public static Vector2 OffsetY(this Vector2 vector, float y) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return new Vector2(vector.x, vector.y + y); } public static void OffsetY(this Transform transform, float y) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.OffsetY(y); } public static Vector3 OffsetZ(this Vector3 vector, float z) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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_0014: Unknown result type (might be due to invalid IL or missing references) return new Vector3(vector.x, vector.y, vector.z + z); } public static void OffsetZ(this Transform transform, float z) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.OffsetZ(z); } public static Vector3 OffsetXY(this Vector3 vector, float x, float y) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) return new Vector3(vector.x + x, vector.y + y, vector.z); } public static Vector3 OffsetXY(this Vector3 vector, Vector2 offset) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return vector.OffsetXY(offset.x, offset.y); } public static Vector2 OffsetXY(this Vector2 vector, float x, float y) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) return new Vector2(vector.x + x, vector.y + y); } public static void OffsetXY(this Transform transform, float x, float y) { //IL_0002: 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) transform.position = transform.position.OffsetXY(x, y); } public static void OffsetXY(this Transform transform, Vector2 offset) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.OffsetXY(offset); } public static Vector3 OffsetXZ(this Vector3 vector, float x, float z) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) return new Vector3(vector.x + x, vector.y, vector.z + z); } public static Vector3 OffsetXZ(this Vector3 vector, Vector2 offset) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return vector.OffsetXZ(offset.x, offset.y); } public static void OffsetXZ(this Transform transform, float x, float z) { //IL_0002: 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) transform.position = transform.position.OffsetXZ(x, z); } public static void OffsetXZ(this Transform transform, Vector2 offset) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.OffsetXZ(offset); } public static Vector3 OffsetYZ(this Vector3 vector, float y, float z) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) return new Vector3(vector.x, vector.y + y, vector.z + z); } public static Vector3 OffsetYZ(this Vector3 vector, Vector2 offset) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return vector.OffsetYZ(offset.x, offset.y); } public static void OffsetYZ(this Transform transform, float y, float z) { //IL_0002: 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) transform.position = transform.position.OffsetYZ(y, z); } public static void OffsetYZ(this Transform transform, Vector2 offset) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.OffsetYZ(offset); } public static Vector3 ClampX(this Vector3 vector, float min, float max) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return vector.SetX(Mathf.Clamp(vector.x, min, max)); } public static Vector2 ClampX(this Vector2 vector, float min, float max) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return vector.SetX(Mathf.Clamp(vector.x, min, max)); } public static void ClampX(this Transform transform, float min, float max) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) transform.SetX(Mathf.Clamp(transform.position.x, min, max)); } public static Vector3 ClampY(this Vector3 vector, float min, float max) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return vector.SetY(Mathf.Clamp(vector.y, min, max)); } public static Vector2 ClampY(this Vector2 vector, float min, float max) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return vector.SetY(Mathf.Clamp(vector.y, min, max)); } public static void ClampY(this Transform transform, float min, float max) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) transform.SetY(Mathf.Clamp(transform.position.y, min, max)); } public static Vector3 ClampZ(this Vector3 vector, float min, float max) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return vector.SetZ(Mathf.Clamp(vector.z, min, max)); } public static void ClampZ(this Transform transform, float min, float max) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) transform.SetZ(Mathf.Clamp(transform.position.z, min, max)); } public static Vector3 InvertX(this Vector3 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return vector.SetX(0f - vector.x); } public static Vector2 InvertX(this Vector2 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return vector.SetX(0f - vector.x); } public static void InvertX(this Transform transform) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) transform.SetX(0f - transform.position.x); } public static Vector3 InvertY(this Vector3 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return vector.SetY(0f - vector.y); } public static Vector2 InvertY(this Vector2 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return vector.SetY(0f - vector.y); } public static void InvertY(this Transform transform) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) transform.SetY(0f - transform.position.y); } public static Vector3 InvertZ(this Vector3 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return vector.SetZ(0f - vector.z); } public static void InvertZ(this Transform transform) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) transform.SetZ(0f - transform.position.z); } public static Vector2 ToVector2(this Vector3 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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) return new Vector2(vector.x, vector.y); } public static Vector3 ToVector3(this Vector2 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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) return new Vector3(vector.x, vector.y); } public static Vector2 ToVector2(this Vector2Int vector) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) return new Vector2((float)((Vector2Int)(ref vector)).x, (float)((Vector2Int)(ref vector)).y); } public static Vector3 ToVector3(this Vector3Int vector) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) return new Vector3((float)((Vector3Int)(ref vector)).x, (float)((Vector3Int)(ref vector)).y, (float)((Vector3Int)(ref vector)).z); } public static Vector2Int ToVector2Int(this Vector2 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) return new Vector2Int(vector.x.RoundToInt(), vector.y.RoundToInt()); } public static Vector3Int ToVector3Int(this Vector3 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) return new Vector3Int(vector.x.RoundToInt(), vector.y.RoundToInt(), vector.z.RoundToInt()); } public static Vector3 SnapValue(this Vector3 val, float snapValue) { //IL_0000: 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_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) return new Vector3(val.x.Snap(snapValue), val.y.Snap(snapValue), val.z.Snap(snapValue)); } public static Vector2 SnapValue(this Vector2 val, float snapValue) { //IL_0000: 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_0018: Unknown result type (might be due to invalid IL or missing references) return new Vector2(val.x.Snap(snapValue), val.y.Snap(snapValue)); } public static void SnapPosition(this Transform transform, float snapValue) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.position = transform.position.SnapValue(snapValue); } public static Vector2 SnapToOne(this Vector2 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) return new Vector2(vector.x.Round(), vector.y.Round()); } public static Vector3 SnapToOne(this Vector3 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) return new Vector3(vector.x.Round(), vector.y.Round(), vector.z.Round()); } public static Vector3 AverageVector(this Vector3[] vectors) { //IL_0008: 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 (vectors.IsNullOrEmpty()) { return Vector3.zero; } float num = 0f; float num2 = 0f; float num3 = 0f; for (int i = 0; i < vectors.Length; i++) { num += vectors[i].x; num2 += vectors[i].y; num3 += vectors[i].z; } return new Vector3(num / (float)vectors.Length, num2 / (float)vectors.Length, num3 / (float)vectors.Length); } public static Vector2 AverageVector(this Vector2[] vectors) { //IL_0008: 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) if (vectors.IsNullOrEmpty()) { return Vector2.zero; } float num = 0f; float num2 = 0f; for (int i = 0; i < vectors.Length; i++) { num += vectors[i].x; num2 += vectors[i].y; } return new Vector2(num / (float)vectors.Length, num2 / (float)vectors.Length); } public static bool Approximately(this Vector3 vector, Vector3 compared, float threshold = 0.1f) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: 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) float num = Mathf.Abs(vector.x - compared.x); float num2 = Mathf.Abs(vector.y - compared.y); float num3 = Mathf.Abs(vector.z - compared.z); if (num <= threshold && num2 <= threshold) { return num3 <= threshold; } return false; } public static bool Approximately(this Vector2 vector, Vector2 compared, float threshold = 0.1f) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) float num = Mathf.Abs(vector.x - compared.x); float num2 = Mathf.Abs(vector.y - compared.y); if (num <= threshold) { return num2 <= threshold; } return false; } public static Vector3 GetClosest(this Vector3 position, IEnumerable otherPositions) { //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_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_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: 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_0033: 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_004c: Unknown result type (might be due to invalid IL or missing references) Vector3 result = Vector3.zero; float num = float.PositiveInfinity; foreach (Vector3 otherPosition in otherPositions) { Vector3 val = position - otherPosition; float sqrMagnitude = ((Vector3)(ref val)).sqrMagnitude; if (sqrMagnitude < num) { result = otherPosition; num = sqrMagnitude; } } return result; } public static Vector3 GetClosest(this IEnumerable positions, Vector3 position) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) return position.GetClosest(positions); } public static Vector4 To(this Vector4 source, Vector4 destination) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) return destination - source; } public static Vector3 To(this Vector3 source, Vector3 destination) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) return destination - source; } public static Vector2 To(this Vector2 source, Vector2 destination) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) return destination - source; } public static Vector3 To(this Component source, Component target) { //IL_0006: 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_0016: Unknown result type (might be due to invalid IL or missing references) return source.transform.position.To(target.transform.position); } public static Vector3 To(this Component source, GameObject target) { //IL_0006: 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_0016: Unknown result type (might be due to invalid IL or missing references) return source.transform.position.To(target.transform.position); } public static Vector3 To(this GameObject source, Component target) { //IL_0006: 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_0016: Unknown result type (might be due to invalid IL or missing references) return source.transform.position.To(target.transform.position); } public static Vector3 To(this GameObject source, GameObject target) { //IL_0006: 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_0016: Unknown result type (might be due to invalid IL or missing references) return source.transform.position.To(target.transform.position); } public static Vector3 To(this Vector3 source, GameObject target) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return source.To(target.transform.position); } public static Vector3 To(this Vector3 source, Component target) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return source.To(target.transform.position); } public static Vector3 To(this GameObject source, Vector3 destination) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: 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) return source.transform.position.To(destination); } public static Vector3 To(this Component source, Vector3 destination) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: 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) return source.transform.position.To(destination); } public static Vector2 Pow(this Vector2 source, float exponent) { //IL_0000: 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_0018: Unknown result type (might be due to invalid IL or missing references) return new Vector2(Mathf.Pow(source.x, exponent), Mathf.Pow(source.y, exponent)); } public static Vector3 Pow(this Vector3 source, float exponent) { //IL_0000: 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_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) return new Vector3(Mathf.Pow(source.x, exponent), Mathf.Pow(source.y, exponent), Mathf.Pow(source.z, exponent)); } public static Vector4 Pow(this Vector4 source, float exponent) { //IL_0000: 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_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0024: 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) return new Vector4(Mathf.Pow(source.x, exponent), Mathf.Pow(source.y, exponent), Mathf.Pow(source.z, exponent), Mathf.Pow(source.w, exponent)); } public static Vector2 ScaleBy(this Vector2 source, Vector2 right) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) return Vector2.Scale(source, right); } public static Vector3 ScaleBy(this Vector3 source, Vector3 right) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) return Vector3.Scale(source, right); } public static Vector4 ScaleBy(this Vector4 source, Vector4 right) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) return Vector4.Scale(source, right); } } public static class TransformShakeExtension { private static Dictionary> _activeShakingTransforms; public static void StartShake(this Transform transform, float time = 0.1f, float shakeBounds = 0.1f, bool useUnscaledTime = true, bool fadeBounds = false) { //IL_0030: Unknown result type (might be due to invalid IL or missing references) if (_activeShakingTransforms == null) { _activeShakingTransforms = new Dictionary>(); } BreakShakeIfAny(transform); Coroutine item = TransformShakeCoroutine(transform, time, shakeBounds, useUnscaledTime, fadeBounds).StartCoroutine(); _activeShakingTransforms.Add(transform, new Tuple(item, transform.position)); } public static void StopShake(this Transform transform) { BreakShakeIfAny(transform); } private static IEnumerator TransformShakeCoroutine(Transform transform, float shakeTime, float bounds, bool useUnscaledTime, bool fadeBounds) { Vector3 initialPosition = transform.position; float initialBounds = bounds; float elapsed = 0f; while (shakeTime < 0f || elapsed < shakeTime) { yield return null; elapsed += (useUnscaledTime ? Time.unscaledDeltaTime : Time.deltaTime); float num = 1f - elapsed / shakeTime; float num2 = Random.value * bounds * 2f - bounds; float num3 = Random.value * bounds * 2f - bounds; Vector3 position = transform.position; position.x += num2; position.y += num3; bounds = (fadeBounds ? (initialBounds * num) : initialBounds); position.x = Mathf.Clamp(position.x, initialPosition.x - bounds, initialPosition.x + bounds); position.y = Mathf.Clamp(position.y, initialPosition.y - bounds, initialPosition.y + bounds); transform.position = position; } transform.position = initialPosition; _activeShakingTransforms.Remove(transform); } private static void BreakShakeIfAny(Transform transform) { //IL_002e: Unknown result type (might be due to invalid IL or missing references) if (_activeShakingTransforms != null && _activeShakingTransforms.ContainsKey(transform)) { Tuple tuple = _activeShakingTransforms[transform]; MyCoroutines.StopCoroutine(tuple.Item1); transform.position = tuple.Item2; _activeShakingTransforms.Remove(transform); } } } public interface IPrepare { bool Prepare(); } public static class ImageStringConverter { public static Texture2D ImageFromString(string source, int width, int height) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Expected O, but got Unknown //IL_0017: Expected O, but got Unknown byte[] array = Convert.FromBase64String(source); Texture2D val = new Texture2D(width, height); ImageConversion.LoadImage(val, array); return val; } } public static class MySceneBundle { public enum TransferSceneBundleOption { TRANSFER_ON_LAST_SCENE, TRANSFER_ON_ANY_SCENE_UNLOADED } private static SceneBundle currentSceneBundle; private static SceneBundle nextSceneBundle; public static TransferSceneBundleOption SceneBundleTransferOption { get; set; } static MySceneBundle() { SceneBundleTransferOption = TransferSceneBundleOption.TRANSFER_ON_LAST_SCENE; currentSceneBundle = new SceneBundle(); nextSceneBundle = new SceneBundle(); SceneManager.sceneUnloaded += PrepareSceneBundleForNextSceneByTransferOptions; } private static void PrepareSceneBundleForNextSceneByTransferOptions(Scene unloadedScene) { if (SceneBundleTransferOption == TransferSceneBundleOption.TRANSFER_ON_LAST_SCENE && IsUnloadingLastScene()) { PrepareSceneBundleForNextScene(); } else if (SceneBundleTransferOption == TransferSceneBundleOption.TRANSFER_ON_ANY_SCENE_UNLOADED) { PrepareSceneBundleForNextScene(); } } private static bool IsUnloadingLastScene() { return SceneManager.sceneCount == 2; } private static void PrepareSceneBundleForNextScene() { currentSceneBundle = nextSceneBundle; nextSceneBundle = new SceneBundle(); } public static void CarryOverCurrentBundleToNextBundle(bool overrideData = false) { nextSceneBundle.BoolData.AddBundleData(currentSceneBundle.BoolData, overrideData); nextSceneBundle.IntData.AddBundleData(currentSceneBundle.IntData, overrideData); nextSceneBundle.FloatData.AddBundleData(currentSceneBundle.FloatData, overrideData); nextSceneBundle.StringData.AddBundleData(currentSceneBundle.StringData, overrideData); nextSceneBundle.ObjectData.AddBundleData(currentSceneBundle.ObjectData, overrideData); } public static void AddStringDataToBundle(string dataKey, string data, bool overrideIfExists = true) { nextSceneBundle.StringData.AddData(dataKey, data, overrideIfExists); } public static void AddFloatDataToBundle(string dataKey, float data, bool overrideIfExists = true) { nextSceneBundle.FloatData.AddData(dataKey, data, overrideIfExists); } public static void AddIntDataToBundle(string dataKey, int data, bool overrideIfExists = true) { nextSceneBundle.IntData.AddData(dataKey, data, overrideIfExists); } public static void AddBoolDataToBundle(string dataKey, bool data, bool overrideIfExists = true) { nextSceneBundle.BoolData.AddData(dataKey, data, overrideIfExists); } public static void AddObjectDataToBundle(string dataKey, object data, bool overrideIfExists = true) { nextSceneBundle.ObjectData.AddData(dataKey, data, overrideIfExists); } public static bool TryGetStringDataFromBundle(string dataKey, out string result) { return currentSceneBundle.StringData.TryGetData(dataKey, out result); } public static bool TryGetFloatDataFromBundle(string dataKey, out float result) { return currentSceneBundle.FloatData.TryGetData(dataKey, out result); } public static bool TryGetIntDataFromBundle(string dataKey, out int result) { return currentSceneBundle.IntData.TryGetData(dataKey, out result); } public static bool TryGetBoolDataFromBundle(string dataKey, out bool result) { return currentSceneBundle.BoolData.TryGetData(dataKey, out result); } public static bool TryGetObjectDataFromBundle(string dataKey, out object result) { return currentSceneBundle.ObjectData.TryGetData(dataKey, out result); } } public class TimeTest : IDisposable { private struct TimeTestData { private readonly string _testTitle; private readonly bool _precise; public readonly Stopwatch Timer; private static readonly StringBuilder StringBuilder = new StringBuilder(); public TimeTestData(string testTitle, bool precise) { _testTitle = testTitle; _precise = precise; Timer = Stopwatch.StartNew(); } public void EndTest() { long elapsedMilliseconds = Timer.ElapsedMilliseconds; float value = (_precise ? ((float)elapsedMilliseconds) : ((float)elapsedMilliseconds / 1000f)); string value2 = (_precise ? "ms" : "s"); StringBuilder.Length = 0; StringBuilder.Append("Time Test ").Append(_testTitle).Append(": ") .Append(value) .Append(value2); Debug.LogWarning((object)StringBuilder); } } private static readonly Dictionary _tests = new Dictionary(); private readonly string _disposableTest; private static string _lastStaticTest = string.Empty; public TimeTest(string title, bool useMilliseconds = false) { _disposableTest = title; _tests[_disposableTest] = new TimeTestData(title, useMilliseconds); } public void Dispose() { _tests[_disposableTest].EndTest(); _tests.Remove(_disposableTest); } public static void Start(string title, bool useMilliseconds = false) { if (_tests.ContainsKey(title)) { _tests[title].Timer.Start(); return; } _lastStaticTest = title; _tests[_lastStaticTest] = new TimeTestData(title, useMilliseconds); } public static void Pause() { if (!_tests.ContainsKey(_lastStaticTest)) { Debug.LogWarning((object)"TimeTest caused: TimeTest.Pause() call. There was no TimeTest.Start()"); } else { _tests[_lastStaticTest].Timer.Stop(); } } public static void Pause(string title) { if (!_tests.ContainsKey(title)) { Debug.LogWarning((object)("TimeTest caused: Test Paused but not Started — " + title)); } else { _tests[title].Timer.Stop(); } } public static void End() { if (!_tests.ContainsKey(_lastStaticTest)) { Debug.LogWarning((object)"TimeTest caused: TimeTest.End() call. There was no TimeTest.Start()"); return; } _tests[_lastStaticTest].EndTest(); _tests.Remove(_lastStaticTest); } public static void End(string title) { if (!_tests.ContainsKey(title)) { Debug.LogWarning((object)("TimeTest caused: Test not found — " + title)); return; } _tests[title].EndTest(); _tests.Remove(title); _lastStaticTest = string.Empty; } } public static class WarningsPool { private static readonly HashSet Pool = new HashSet(); public static bool Log(string message, Object target = null) { if (Pool.Contains(message)) { return false; } if (target != (Object)null) { Debug.Log((object)message, target); } else { Debug.Log((object)message); } Pool.Add(message); return true; } public static bool LogWarning(string message, Object target = null) { if (Pool.Contains(message)) { return false; } if (target != (Object)null) { Debug.LogWarning((object)message, target); } else { Debug.LogWarning((object)message); } Pool.Add(message); return true; } public static bool LogError(string message, Object target = null) { if (Pool.Contains(message)) { return false; } if (target != (Object)null) { Debug.LogError((object)message, target); } else { Debug.LogError((object)message); } Pool.Add(message); return true; } } public class ActiveStateOnStart : MonoBehaviour { public bool Active; [MustBeAssigned] public GameObject Target; private void Awake() { Target.gameObject.SetActive(Active); } } [Serializable] public class AnimationStateReference { [SerializeField] private string _stateName = string.Empty; [SerializeField] private bool _assigned; [SerializeField] private Animator _linkedAnimator; public string StateName => _stateName; public bool Assigned => _assigned; public Animator Animator => _linkedAnimator; } public static class AnimationStateReferenceExtension { public static void Play(this Animator animator, AnimationStateReference state) { if (state.Assigned) { animator.Play(state.StateName); } } public static void Play(this AnimationStateReference state) { if (state.Assigned) { state.Animator.Play(state.StateName); } } } [Serializable] public class AssetFolderPath { public string Path; } [Serializable] public class AssetPath { public string Path; public string Extension; public static AssetPath WithExtension(string extension) { return new AssetPath { Extension = extension }; } } [ExecuteAlways] public class Billboard : MonoBehaviour { public Transform FacedObject; private static Camera _camera; private Transform ActiveFacedObject { get { if ((Object)(object)FacedObject != (Object)null) { return FacedObject; } if ((Object)(object)_camera != (Object)null) { return ((Component)_camera).transform; } _camera = Camera.main; if (!((Object)(object)_camera == (Object)null)) { return ((Component)_camera).transform; } return null; } } [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] private static void Initialize() { _camera = null; } private void Update() { if (!((Object)(object)ActiveFacedObject == (Object)null)) { ((Component)this).transform.LookAt(ActiveFacedObject); } } } [Serializable] public class CollectionWrapper : CollectionWrapperBase { public T[] Value; } public class ColliderGizmo : MonoBehaviour { } [RequireComponent(typeof(PolygonCollider2D))] [RequireComponent(typeof(MeshFilter))] [RequireComponent(typeof(MeshRenderer))] public class ColliderToMesh : MonoBehaviour { private class Triangulator { private readonly List m_points; public Triangulator(Vector2[] points) { m_points = new List(points); } public int[] Triangulate() { List list = new List(); int count = m_points.Count; if (count < 3) { return list.ToArray(); } int[] array = new int[count]; if (Area() > 0f) { for (int i = 0; i < count; i++) { array[i] = i; } } else { for (int j = 0; j < count; j++) { array[j] = count - 1 - j; } } int num = count; int num2 = 2 * num; int num3 = num - 1; while (num > 2) { if (num2-- <= 0) { return list.ToArray(); } int num4 = num3; if (num <= num4) { num4 = 0; } num3 = num4 + 1; if (num <= num3) { num3 = 0; } int num5 = num3 + 1; if (num <= num5) { num5 = 0; } if (Snip(num4, num3, num5, num, array)) { int item = array[num4]; int item2 = array[num3]; int item3 = array[num5]; list.Add(item); list.Add(item2); list.Add(item3); int num6 = num3; for (int k = num3 + 1; k < num; k++) { array[num6] = array[k]; num6++; } num--; num2 = 2 * num; } } list.Reverse(); return list.ToArray(); } private float Area() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003e: 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_004d: Unknown result type (might be due to invalid IL or missing references) int count = m_points.Count; float num = 0f; int index = count - 1; int num2 = 0; while (num2 < count) { Vector2 val = m_points[index]; Vector2 val2 = m_points[num2]; num += val.x * val2.y - val2.x * val.y; index = num2++; } return num * 0.5f; } private bool Snip(int u, int v, int w, int n, int[] V) { //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_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_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) Vector2 val = m_points[V[u]]; Vector2 val2 = m_points[V[v]]; Vector2 val3 = m_points[V[w]]; if (Mathf.Epsilon > (val2.x - val.x) * (val3.y - val.y) - (val2.y - val.y) * (val3.x - val.x)) { return false; } for (int i = 0; i < n; i++) { if (i != u && i != v && i != w) { Vector2 p = m_points[V[i]]; if (InsideTriangle(val, val2, val3, p)) { return false; } } } return true; } private bool InsideTriangle(Vector2 A, Vector2 B, Vector2 C, Vector2 P) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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_0013: 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_0021: 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_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0037: 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_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_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005b: 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_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0084: 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_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) float num = C.x - B.x; float num2 = C.y - B.y; float num3 = A.x - C.x; float num4 = A.y - C.y; float num5 = B.x - A.x; float num6 = B.y - A.y; float num7 = P.x - A.x; float num8 = P.y - A.y; float num9 = P.x - B.x; float num10 = P.y - B.y; float num11 = P.x - C.x; float num12 = P.y - C.y; float num13 = num * num10 - num2 * num9; float num14 = num5 * num8 - num6 * num7; float num15 = num3 * num12 - num4 * num11; if (num13 >= 0f && num15 >= 0f) { return num14 >= 0f; } return false; } } private void Start() { FillShape(); } [ButtonMethod(ButtonMethodDrawOrder.AfterInspector)] public void FillShape() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0040: 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_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) PolygonCollider2D component = ((Component)this).gameObject.GetComponent(); int totalPointCount = component.GetTotalPointCount(); MeshFilter component2 = ((Component)this).GetComponent(); Mesh val = new Mesh(); Vector2[] points = component.points; Vector3[] array = (Vector3[])(object)new Vector3[totalPointCount]; for (int i = 0; i < totalPointCount; i++) { Vector2 val2 = points[i]; array[i] = new Vector3(val2.x, val2.y, 0f); } int[] triangles = new Triangulator(points).Triangulate(); val.vertices = array; val.triangles = triangles; component2.mesh = val; component2.sharedMesh.RecalculateBounds(); } [ButtonMethod(ButtonMethodDrawOrder.AfterInspector)] public void ClearShape() { ((Component)this).GetComponent().mesh = null; } } public class CoroutineGroup { private readonly MonoBehaviour _owner; private readonly List _activeCoroutines = new List(); public int ActiveCoroutinesAmount => _activeCoroutines.Count; public bool AnyProcessing => _activeCoroutines.Count > 0; public CoroutineGroup(MonoBehaviour owner) { _owner = owner; } public Coroutine StartCoroutine(IEnumerator coroutine) { return _owner.StartCoroutine(DoStart(coroutine)); } public void StopAll() { for (int i = 0; i < _activeCoroutines.Count; i++) { _owner.StopCoroutine(_activeCoroutines[i]); } } private IEnumerator DoStart(IEnumerator coroutine) { Coroutine started = _owner.StartCoroutine(coroutine); _activeCoroutines.Add(started); yield return started; _activeCoroutines.Remove(started); } } [ExecuteInEditMode] [DisallowMultipleComponent] public class GuidComponent : MonoBehaviour, ISerializationCallbackReceiver { private Guid _guid = Guid.Empty; [SerializeField] private byte[] serializedGuid; public Guid Guid { get { if (_guid == Guid.Empty && serializedGuid != null && serializedGuid.Length == 16) { _guid = new Guid(serializedGuid); } return _guid; } } public string GuidString => Guid.ToString(); public bool IsGuidAssigned() { return _guid != Guid.Empty; } private void CreateGuid() { if (serializedGuid == null || serializedGuid.Length != 16) { _guid = Guid.NewGuid(); serializedGuid = _guid.ToByteArray(); } else if (_guid == Guid.Empty) { _guid = new Guid(serializedGuid); } if (_guid != Guid.Empty && !GuidManager.Add(this)) { serializedGuid = null; _guid = Guid.Empty; CreateGuid(); } } public void OnBeforeSerialize() { if (_guid != Guid.Empty) { serializedGuid = _guid.ToByteArray(); } } public void OnAfterDeserialize() { if (serializedGuid != null && serializedGuid.Length == 16) { _guid = new Guid(serializedGuid); } } private void Awake() { CreateGuid(); } private void OnValidate() { CreateGuid(); } public Guid GetGuid() { if (_guid == Guid.Empty && serializedGuid != null && serializedGuid.Length == 16) { _guid = new Guid(serializedGuid); } return _guid; } public void OnDestroy() { GuidManager.Remove(_guid); } } public class GuidManager { private struct GuidInfo { public GameObject GameObject; public event Action OnAdd; public event Action OnRemove; public GuidInfo(GuidComponent comp) { GameObject = ((Component)comp).gameObject; this.OnRemove = null; this.OnAdd = null; } public void HandleAddCallback() { this.OnAdd?.Invoke(GameObject); } public void HandleRemoveCallback() { this.OnRemove?.Invoke(); } } private static GuidManager _instance; private readonly Dictionary _guidToObjectMap = new Dictionary(); private static GuidManager Instance => _instance ?? (_instance = new GuidManager()); public static bool Add(GuidComponent guidComponent) { return Instance.InternalAdd(guidComponent); } public static void Remove(Guid guid) { Instance.InternalRemove(guid); } public static GameObject ResolveGuid(Guid guid, Action onAddCallback, Action onRemoveCallback) { return Instance.ResolveGuidInternal(guid, onAddCallback, onRemoveCallback); } public static GameObject ResolveGuid(Guid guid, Action onDestroyCallback) { return Instance.ResolveGuidInternal(guid, null, onDestroyCallback); } public static GameObject ResolveGuid(Guid guid) { return Instance.ResolveGuidInternal(guid, null, null); } private bool InternalAdd(GuidComponent guidComponent) { Guid guid = guidComponent.GetGuid(); GuidInfo value = new GuidInfo(guidComponent); if (!_guidToObjectMap.ContainsKey(guid)) { _guidToObjectMap.Add(guid, value); return true; } GuidInfo value2 = _guidToObjectMap[guid]; if ((Object)(object)value2.GameObject != (Object)null && (Object)(object)value2.GameObject != (Object)(object)((Component)guidComponent).gameObject) { if (!Application.isPlaying) { Debug.LogWarningFormat((Object)(object)guidComponent, "Guid Collision Detected while creating {0}.\nAssigning new Guid.", new object[1] { ((Object)(object)guidComponent != (Object)null) ? ((Object)guidComponent).name : "NULL" }); } return false; } value2.GameObject = value.GameObject; value2.HandleAddCallback(); _guidToObjectMap[guid] = value2; return true; } private void InternalRemove(Guid guid) { if (_guidToObjectMap.TryGetValue(guid, out var value)) { value.HandleRemoveCallback(); } _guidToObjectMap.Remove(guid); } private GameObject ResolveGuidInternal(Guid guid, Action onAddCallback, Action onRemoveCallback) { if (_guidToObjectMap.TryGetValue(guid, out var value)) { if (onAddCallback != null) { value.OnAdd += onAddCallback; } if (onRemoveCallback != null) { value.OnRemove += onRemoveCallback; } _guidToObjectMap[guid] = value; return value.GameObject; } if (onAddCallback != null) { value.OnAdd += onAddCallback; } if (onRemoveCallback != null) { value.OnRemove += onRemoveCallback; } _guidToObjectMap.Add(guid, value); return null; } } [Serializable] public class GuidReference : ISerializationCallbackReceiver { private GameObject cachedReference; private bool isCacheSet; [SerializeField] private byte[] serializedGuid; private Guid guid; private Action addDelegate; private Action removeDelegate; public GameObject gameObject { get { if (isCacheSet) { return cachedReference; } cachedReference = GuidManager.ResolveGuid(guid, addDelegate, removeDelegate); isCacheSet = true; return cachedReference; } private set { } } public event Action OnGuidAdded = delegate { }; public event Action OnGuidRemoved = delegate { }; public GuidReference() { } public GuidReference(GuidComponent target) { guid = target.GetGuid(); } private void GuidAdded(GameObject go) { cachedReference = go; this.OnGuidAdded(go); } private void GuidRemoved() { cachedReference = null; isCacheSet = false; this.OnGuidRemoved(); } public void OnBeforeSerialize() { serializedGuid = guid.ToByteArray(); } public void OnAfterDeserialize() { cachedReference = null; isCacheSet = false; if (serializedGuid == null || serializedGuid.Length != 16) { serializedGuid = new byte[16]; } guid = new Guid(serializedGuid); addDelegate = GuidAdded; removeDelegate = GuidRemoved; } } [Serializable] public struct MinMaxFloat { public float Min; public float Max; public MinMaxFloat(float min, float max) { Min = min; Max = max; } } [Serializable] public struct MinMaxInt { public int Min; public int Max; public MinMaxInt(int min, int max) { Min = min; Max = max; } } public static class MinMaxExtensions { public static bool IsInRange(this MinMaxInt minMax, int value) { if (value >= minMax.Min) { return value <= minMax.Max; } return false; } public static bool IsInRange(this MinMaxFloat minMax, float value) { if (value >= minMax.Min) { return value <= minMax.Max; } return false; } public static int Clamp(this MinMaxInt minMax, int value) { return Mathf.Clamp(value, minMax.Min, minMax.Max); } public static float Clamp(this MinMaxFloat minMax, float value) { return Mathf.Clamp(value, minMax.Min, minMax.Max); } public static int Length(this MinMaxInt minMax) { return minMax.Max - minMax.Min; } public static float Length(this MinMaxFloat minMax) { return minMax.Max - minMax.Min; } public static int MidPoint(this MinMaxInt minMax) { return minMax.Min + minMax.Length() / 2; } public static float MidPoint(this MinMaxFloat minMax) { return minMax.Min + minMax.Length() / 2f; } public static float Lerp(this MinMaxInt minMax, float value) { return Mathf.Lerp((float)minMax.Min, (float)minMax.Max, value); } public static float Lerp(this MinMaxFloat minMax, float value) { return Mathf.Lerp(minMax.Min, minMax.Max, value); } public static float LerpUnclamped(this MinMaxInt minMax, float value) { return Mathf.LerpUnclamped((float)minMax.Min, (float)minMax.Max, value); } public static float LerpUnclamped(this MinMaxFloat minMax, float value) { return Mathf.LerpUnclamped(minMax.Min, minMax.Max, value); } public static int RandomInRange(this MinMaxInt minMax) { return Random.Range(minMax.Min, minMax.Max); } public static float RandomInRange(this MinMaxFloat minMax) { return Random.Range(minMax.Min, minMax.Max); } public static int RandomInRangeInclusive(this MinMaxInt minMax) { return Random.Range(minMax.Min, minMax.Max + 1); } } [Serializable] public struct MyCursor { public Texture2D Texture; public Vector2 Hotspot; public void ApplyAsLockedCursor() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) Cursor.visible = true; Cursor.lockState = (CursorLockMode)1; Cursor.SetCursor(Texture, Hotspot, (CursorMode)1); } public void ApplyAsFreeCursor() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) Cursor.visible = true; Cursor.lockState = (CursorLockMode)0; Cursor.SetCursor(Texture, Hotspot, (CursorMode)1); } public void ApplyAsConfinedCursor() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) Cursor.visible = true; Cursor.lockState = (CursorLockMode)2; Cursor.SetCursor(Texture, Hotspot, (CursorMode)1); } } [Serializable] public class MyDictionary : IDictionary, ICollection>, IEnumerable>, IEnumerable { private static class PrimeHelper { private static readonly int[] Primes = new int[72] { 3, 7, 11, 17, 23, 29, 37, 47, 59, 71, 89, 107, 131, 163, 197, 239, 293, 353, 431, 521, 631, 761, 919, 1103, 1327, 1597, 1931, 2333, 2801, 3371, 4049, 4861, 5839, 7013, 8419, 10103, 12143, 14591, 17519, 21023, 25229, 30293, 36353, 43627, 52361, 62851, 75431, 90523, 108631, 130363, 156437, 187751, 225307, 270371, 324449, 389357, 467237, 560689, 672827, 807403, 968897, 1162687, 1395263, 1674319, 2009191, 2411033, 2893249, 3471899, 4166287, 4999559, 5999471, 7199369 }; private static bool IsPrime(int candidate) { if (((uint)candidate & (true ? 1u : 0u)) != 0) { int num = (int)Math.Sqrt(candidate); for (int i = 3; i <= num; i += 2) { if (candidate % i == 0) { return false; } } return true; } return candidate == 2; } public static int GetPrime(int min) { if (min < 0) { throw new ArgumentException("min < 0"); } for (int i = 0; i < Primes.Length; i++) { int num = Primes[i]; if (num >= min) { return num; } } for (int j = min | 1; j < int.MaxValue; j += 2) { if (IsPrime(j) && (j - 1) % 101 != 0) { return j; } } return min; } public static int ExpandPrime(int oldSize) { int num = 2 * oldSize; if (num > 2146435069 && 2146435069 > oldSize) { return 2146435069; } return GetPrime(num); } } public struct Enumerator : IEnumerator>, IEnumerator, IDisposable { private readonly MyDictionary _dictionary; private readonly int _Version; private int _index; public KeyValuePair Current { get; private set; } object IEnumerator.Current => Current; internal Enumerator(MyDictionary dictionary) { this = default(Enumerator); _dictionary = dictionary; _Version = dictionary._version; Current = default(KeyValuePair); _index = 0; } public bool MoveNext() { if (_Version != _dictionary._version) { throw new InvalidOperationException($"Enumerator version {_Version} != Dictionary version {_dictionary._version}"); } while (_index < _dictionary._count) { if (_dictionary._hashCodes[_index] >= 0) { Current = new KeyValuePair(_dictionary._keys[_index], _dictionary._values[_index]); _index++; return true; } _index++; } _index = _dictionary._count + 1; Current = default(KeyValuePair); return false; } void IEnumerator.Reset() { if (_Version != _dictionary._version) { throw new InvalidOperationException($"Enumerator version {_Version} != Dictionary version {_dictionary._version}"); } _index = 0; Current = default(KeyValuePair); } public void Dispose() { } } [SerializeField] [HideInInspector] private int[] _buckets; [SerializeField] [HideInInspector] private int[] _hashCodes; [SerializeField] [HideInInspector] private int[] _next; [SerializeField] [HideInInspector] private int _count; [SerializeField] [HideInInspector] private int _version; [SerializeField] [HideInInspector] private int _freeList; [SerializeField] [HideInInspector] private int _freeCount; [SerializeField] [HideInInspector] private TKey[] _keys; [SerializeField] [HideInInspector] private TValue[] _values; private readonly IEqualityComparer _comparer; public Dictionary AsDictionary => new Dictionary(this); public int Count => _count - _freeCount; public TValue this[TKey key, TValue defaultValue] { get { int num = FindIndex(key); if (num >= 0) { return _values[num]; } return defaultValue; } } public TValue this[TKey key] { get { int num = FindIndex(key); if (num >= 0) { return _values[num]; } throw new KeyNotFoundException(key.ToString()); } set { Insert(key, value, add: false); } } public ICollection Keys => _keys.Take(Count).ToArray(); public ICollection Values => _values.Take(Count).ToArray(); public bool IsReadOnly => false; public MyDictionary() : this(0, (IEqualityComparer)null) { } public MyDictionary(int capacity) : this(capacity, (IEqualityComparer)null) { } public MyDictionary(IEqualityComparer comparer) : this(0, comparer) { } public MyDictionary(int capacity, IEqualityComparer comparer) { if (capacity < 0) { throw new ArgumentOutOfRangeException("capacity"); } Initialize(capacity); _comparer = comparer ?? EqualityComparer.Default; } public MyDictionary(IDictionary dictionary) : this(dictionary, (IEqualityComparer)null) { } public MyDictionary(IDictionary dictionary, IEqualityComparer comparer) : this(dictionary?.Count ?? 0, comparer) { if (dictionary == null) { throw new ArgumentNullException("dictionary"); } foreach (KeyValuePair item in dictionary) { Add(item.Key, item.Value); } } public bool ContainsValue(TValue value) { if (value == null) { for (int i = 0; i < _count; i++) { if (_hashCodes[i] >= 0 && _values[i] == null) { return true; } } } else { EqualityComparer @default = EqualityComparer.Default; for (int j = 0; j < _count; j++) { if (_hashCodes[j] >= 0 && @default.Equals(_values[j], value)) { return true; } } } return false; } public bool ContainsKey(TKey key) { return FindIndex(key) >= 0; } public void Clear() { if (_count > 0) { for (int i = 0; i < _buckets.Length; i++) { _buckets[i] = -1; } Array.Clear(_keys, 0, _count); Array.Clear(_values, 0, _count); Array.Clear(_hashCodes, 0, _count); Array.Clear(_next, 0, _count); _freeList = -1; _count = 0; _freeCount = 0; _version++; } } public void Add(TKey key, TValue value) { Insert(key, value, add: true); } private void Resize(int newSize, bool forceNewHashCodes) { int[] array = new int[newSize]; for (int i = 0; i < array.Length; i++) { array[i] = -1; } TKey[] array2 = new TKey[newSize]; TValue[] array3 = new TValue[newSize]; int[] array4 = new int[newSize]; int[] array5 = new int[newSize]; Array.Copy(_values, 0, array3, 0, _count); Array.Copy(_keys, 0, array2, 0, _count); Array.Copy(_hashCodes, 0, array4, 0, _count); Array.Copy(_next, 0, array5, 0, _count); if (forceNewHashCodes) { for (int j = 0; j < _count; j++) { if (array4[j] != -1) { array4[j] = _comparer.GetHashCode(array2[j]) & 0x7FFFFFFF; } } } for (int k = 0; k < _count; k++) { int num = array4[k] % newSize; array5[k] = array[num]; array[num] = k; } _buckets = array; _keys = array2; _values = array3; _hashCodes = array4; _next = array5; } private void Resize() { Resize(PrimeHelper.ExpandPrime(_count), forceNewHashCodes: false); } public bool Remove(TKey key) { if (key == null) { throw new ArgumentNullException("key"); } int num = _comparer.GetHashCode(key) & 0x7FFFFFFF; int num2 = num % _buckets.Length; int num3 = -1; for (int num4 = _buckets[num2]; num4 >= 0; num4 = _next[num4]) { if (_hashCodes[num4] == num && _comparer.Equals(_keys[num4], key)) { if (num3 < 0) { _buckets[num2] = _next[num4]; } else { _next[num3] = _next[num4]; } _hashCodes[num4] = -1; _next[num4] = _freeList; _keys[num4] = default(TKey); _values[num4] = default(TValue); _freeList = num4; _freeCount++; _version++; return true; } num3 = num4; } return false; } private void Insert(TKey key, TValue value, bool add) { if (key == null) { throw new ArgumentNullException("key"); } if (_buckets == null) { Initialize(0); } int num = _comparer.GetHashCode(key) & 0x7FFFFFFF; int num2 = num % _buckets.Length; for (int num3 = _buckets[num2]; num3 >= 0; num3 = _next[num3]) { if (_hashCodes[num3] == num && _comparer.Equals(_keys[num3], key)) { if (add) { TKey val = key; throw new ArgumentException("Key already exists: " + val); } _values[num3] = value; _version++; return; } } int num4; if (_freeCount > 0) { num4 = _freeList; _freeList = _next[num4]; _freeCount--; } else { if (_count == _keys.Length) { Resize(); num2 = num % _buckets.Length; } num4 = _count; _count++; } _hashCodes[num4] = num; _next[num4] = _buckets[num2]; _keys[num4] = key; _values[num4] = value; _buckets[num2] = num4; _version++; } private void Initialize(int capacity) { int prime = PrimeHelper.GetPrime(capacity); _buckets = new int[prime]; for (int i = 0; i < _buckets.Length; i++) { _buckets[i] = -1; } _keys = new TKey[prime]; _values = new TValue[prime]; _hashCodes = new int[prime]; _next = new int[prime]; _freeList = -1; } private int FindIndex(TKey key) { if (key == null) { throw new ArgumentNullException("key"); } if (_buckets != null) { int num = _comparer.GetHashCode(key) & 0x7FFFFFFF; for (int num2 = _buckets[num % _buckets.Length]; num2 >= 0; num2 = _next[num2]) { if (_hashCodes[num2] == num && _comparer.Equals(_keys[num2], key)) { return num2; } } } return -1; } public bool TryGetValue(TKey key, out TValue value) { int num = FindIndex(key); if (num >= 0) { value = _values[num]; return true; } value = default(TValue); return false; } public void Add(KeyValuePair item) { Add(item.Key, item.Value); } public bool Contains(KeyValuePair item) { int num = FindIndex(item.Key); if (num >= 0) { return EqualityComparer.Default.Equals(_values[num], item.Value); } return false; } public void CopyTo(KeyValuePair[] array, int index) { if (array == null) { throw new ArgumentNullException("array"); } if (index < 0 || index > array.Length) { throw new ArgumentOutOfRangeException($"index = {index} array.Length = {array.Length}"); } if (array.Length - index < Count) { throw new ArgumentException($"The number of elements in the dictionary ({Count}) is greater than the available space from index to the end of the destination array {array.Length}."); } for (int i = 0; i < _count; i++) { if (_hashCodes[i] >= 0) { array[index++] = new KeyValuePair(_keys[i], _values[i]); } } } public bool Remove(KeyValuePair item) { return Remove(item.Key); } public Enumerator GetEnumerator() { return new Enumerator(this); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } IEnumerator> IEnumerable>.GetEnumerator() { return GetEnumerator(); } } [Serializable] public class OptionalFloat : Optional { public static OptionalFloat WithValue(float value) { return new OptionalFloat { IsSet = true, Value = value }; } } [Serializable] public class OptionalInt : Optional { public static OptionalInt WithValue(int value) { return new OptionalInt { IsSet = true, Value = value }; } } [Serializable] public class OptionalString : Optional { public static OptionalString WithValue(string value) { return new OptionalString { IsSet = true, Value = value }; } } [Serializable] public class OptionalKeyCode : Optional { public static OptionalKeyCode WithValue(KeyCode value) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return new OptionalKeyCode { IsSet = true, Value = value }; } } [Serializable] public class OptionalGameObject : Optional { } [Serializable] public class OptionalComponent : Optional { } [Serializable] public struct OptionalMinMax { public bool MinIsSet; public bool MaxIsSet; public float Min; public float Max; public float GetFixed(float value) { if (MinIsSet && value < Min) { value = Min; } if (MaxIsSet && value > Max) { value = Max; } return value; } public OptionalMinMax(bool minIsSet, bool maxIsSet, float min, float max) { MinIsSet = minIsSet; MaxIsSet = maxIsSet; Min = min; Max = max; } } public class PlayerPrefsBool : PlayerPrefsType { public bool DefaultValue; public bool Value { get { return PlayerPrefs.GetInt(base.Key, DefaultValue ? 1 : 0) == 1; } set { PlayerPrefs.SetInt(base.Key, value ? 1 : 0); } } public static PlayerPrefsBool WithKey(string key, bool defaultValue = false) { return new PlayerPrefsBool(key); } public PlayerPrefsBool(string key, bool defaultValue = false) { base.Key = key; DefaultValue = defaultValue; } } [Serializable] public class PlayerPrefsFloat : PlayerPrefsType { public float DefaultValue; public float Value { get { return PlayerPrefs.GetFloat(base.Key, DefaultValue); } set { PlayerPrefs.SetFloat(base.Key, value); } } public static PlayerPrefsFloat WithKey(string key, float defaultValue = 0f) { return new PlayerPrefsFloat(key, defaultValue); } public PlayerPrefsFloat(string key, float defaultValue = 0f) { base.Key = key; DefaultValue = defaultValue; } } [Serializable] public class PlayerPrefsInt : PlayerPrefsType { public int DefaultValue; public int Value { get { return PlayerPrefs.GetInt(base.Key, DefaultValue); } set { PlayerPrefs.SetInt(base.Key, value); } } public static PlayerPrefsInt WithKey(string key, int defaultValue = 0) { return new PlayerPrefsInt(key, defaultValue); } public PlayerPrefsInt(string key, int defaultValue = 0) { base.Key = key; DefaultValue = defaultValue; } } [Serializable] public class PlayerPrefsString : PlayerPrefsType { public string DefaultString; public string Value { get { return PlayerPrefs.GetString(base.Key, DefaultString); } set { PlayerPrefs.SetString(base.Key, value); } } public static PlayerPrefsString WithKey(string key, string defaultString = "") { return new PlayerPrefsString(key, defaultString); } public PlayerPrefsString(string key, string defaultString = "") { base.Key = key; DefaultString = defaultString; } } [Serializable] public class PlayerPrefsVector2 : PlayerPrefsType { public Vector2 DefaultValue; public Vector2 Value { get { //IL_0040: Unknown result type (might be due to invalid IL or missing references) return new Vector2(PlayerPrefs.GetFloat(base.Key + "x", DefaultValue.x), PlayerPrefs.GetFloat(base.Key + "y", DefaultValue.y)); } set { //IL_0010: 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) PlayerPrefs.SetFloat(base.Key + "x", value.x); PlayerPrefs.SetFloat(base.Key + "y", value.y); } } public static PlayerPrefsVector2 WithKey(string key, Vector2 defaultValue = default(Vector2)) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return new PlayerPrefsVector2(key, defaultValue); } public PlayerPrefsVector2(string key, Vector2 defaultValue = default(Vector2)) { //IL_000e: 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) base.Key = key; DefaultValue = defaultValue; } } [Serializable] public class PlayerPrefsVector2Int : PlayerPrefsType { public Vector2Int DefaultValue; public Vector2Int Value { get { //IL_0040: Unknown result type (might be due to invalid IL or missing references) return new Vector2Int(PlayerPrefs.GetInt(base.Key + "x", ((Vector2Int)(ref DefaultValue)).x), PlayerPrefs.GetInt(base.Key + "y", ((Vector2Int)(ref DefaultValue)).y)); } set { PlayerPrefs.SetInt(base.Key + "x", ((Vector2Int)(ref value)).x); PlayerPrefs.SetInt(base.Key + "y", ((Vector2Int)(ref value)).y); } } public static PlayerPrefsVector2Int WithKey(string key, Vector2Int defaultValue = default(Vector2Int)) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return new PlayerPrefsVector2Int(key, defaultValue); } public PlayerPrefsVector2Int(string key, Vector2Int defaultValue = default(Vector2Int)) { //IL_000e: 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) base.Key = key; DefaultValue = defaultValue; } } [Serializable] public class PlayerPrefsVector3 : PlayerPrefsType { public Vector3 DefaultValue; public Vector3 Value { get { //IL_0060: Unknown result type (might be due to invalid IL or missing references) return new Vector3(PlayerPrefs.GetFloat(base.Key + "x", DefaultValue.x), PlayerPrefs.GetFloat(base.Key + "y", DefaultValue.y), PlayerPrefs.GetFloat(base.Key + "z", DefaultValue.z)); } set { //IL_0010: 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_0046: Unknown result type (might be due to invalid IL or missing references) PlayerPrefs.SetFloat(base.Key + "x", value.x); PlayerPrefs.SetFloat(base.Key + "y", value.y); PlayerPrefs.SetFloat(base.Key + "z", value.z); } } public static PlayerPrefsVector3 WithKey(string key, Vector3 defaultValue = default(Vector3)) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return new PlayerPrefsVector3(key, defaultValue); } public PlayerPrefsVector3(string key, Vector3 defaultValue = default(Vector3)) { //IL_000e: 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) base.Key = key; DefaultValue = defaultValue; } } [Serializable] public class PlayerPrefsVector3Int : PlayerPrefsType { public Vector3Int DefaultValue; public Vector3Int Value { get { //IL_0060: Unknown result type (might be due to invalid IL or missing references) return new Vector3Int(PlayerPrefs.GetInt(base.Key + "x", ((Vector3Int)(ref DefaultValue)).x), PlayerPrefs.GetInt(base.Key + "y", ((Vector3Int)(ref DefaultValue)).y), PlayerPrefs.GetInt(base.Key + "z", ((Vector3Int)(ref DefaultValue)).z)); } set { PlayerPrefs.SetInt(base.Key + "x", ((Vector3Int)(ref value)).x); PlayerPrefs.SetInt(base.Key + "y", ((Vector3Int)(ref value)).y); PlayerPrefs.SetInt(base.Key + "z", ((Vector3Int)(ref value)).z); } } public static PlayerPrefsVector3Int WithKey(string key, Vector3Int defaultValue = default(Vector3Int)) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return new PlayerPrefsVector3Int(key, defaultValue); } public PlayerPrefsVector3Int(string key, Vector3Int defaultValue = default(Vector3Int)) { //IL_000e: 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) base.Key = key; DefaultValue = defaultValue; } } [Serializable] public class ReorderableGameObject : Reorderable { } [Serializable] public class ReorderableGameObjectList : ReorderableList { } [Serializable] public class ReorderableTransform : Reorderable { } [Serializable] public class ReorderableTransformList : ReorderableList { } [Serializable] public class Reorderable : ReorderableBase { public T[] Collection; public int Length => Collection.Length; public T this[int i] { get { return Collection[i]; } set { Collection[i] = value; } } } [Serializable] public class ReorderableList : ReorderableBase { public List Collection; } [Serializable] public class SceneReference : ISerializationCallbackReceiver { public class SceneLoadException : Exception { public SceneLoadException(string message) : base(message) { } } [Tooltip("The name of the referenced scene. This may be used at runtime to load the scene.")] public string SceneName; [SerializeField] private int sceneIndex = -1; [SerializeField] private bool sceneEnabled; public bool IsAssigned => !string.IsNullOrEmpty(SceneName); public void LoadScene(LoadSceneMode mode = 0) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) ValidateScene(); SceneManager.LoadScene(SceneName, mode); } public AsyncOperation LoadSceneAsync(LoadSceneMode mode = 0) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) ValidateScene(); return SceneManager.LoadSceneAsync(SceneName, mode); } public AsyncOperation UnloadSceneAsync() { ValidateScene(); return SceneManager.UnloadSceneAsync(SceneName); } public bool SetActive() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return SceneManager.SetActiveScene(SceneManager.GetSceneByName(SceneName)); } private void ValidateScene() { if (string.IsNullOrEmpty(SceneName)) { throw new SceneLoadException("No scene specified."); } if (sceneIndex < 0) { throw new SceneLoadException("Scene " + SceneName + " is not in the build settings"); } if (!sceneEnabled) { throw new SceneLoadException("Scene " + SceneName + " is not enabled in the build settings"); } } public void OnBeforeSerialize() { } public void OnAfterDeserialize() { } } public abstract class Singleton : MonoBehaviour where T : MonoBehaviour { private static T _instance; public static T Instance { get { if ((Object)(object)_instance == (Object)null) { _instance = Object.FindObjectOfType(); } if ((Object)(object)_instance == (Object)null) { Debug.LogError((object)("Singleton of type : " + typeof(T).Name + " not found on scene")); } return _instance; } } protected void InitializeSingleton(bool persistent = true) { if ((Object)(object)_instance == (Object)null) { _instance = (T)Convert.ChangeType(this, typeof(T)); if (persistent) { Object.DontDestroyOnLoad((Object)(object)_instance); } } else { Debug.LogWarning((object)("Another instance of Singleton<" + typeof(T).Name + "> detected on GO " + ((Object)this).name + ". Destroyed"), (Object)(object)((Component)this).gameObject); Object.Destroy((Object)(object)this); } } } [Serializable] public class TransformData { public Vector3 Position; public Vector3 Rotation; public Vector3 Scale; public bool SavePosition = true; public bool SaveRotation = true; public bool SaveScale = true; public Action OnSaved; public Action OnApplied; public void Apply(Transform transform) { //IL_000a: 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_0037: Unknown result type (might be due to invalid IL or missing references) if (SavePosition) { transform.position = Position; } if (SaveRotation) { transform.rotation = Quaternion.Euler(Rotation); } if (SaveScale) { transform.localScale = Scale; } OnApplied?.Invoke(); } public void Save(Transform transform) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //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_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) Position = transform.position; Quaternion rotation = transform.rotation; Rotation = ((Quaternion)(ref rotation)).eulerAngles; Scale = transform.localScale; OnSaved?.Invoke(); } public static TransformData FromTransform(Transform transform, bool savePosition = true, bool saveRotation = true, bool saveScale = true) { TransformData transformData = new TransformData(); transformData.Save(transform); transformData.SavePosition = savePosition; transformData.SaveRotation = saveRotation; transformData.SaveScale = saveScale; return transformData; } } [ExecuteInEditMode] public class UIFollow : MonoBehaviour { public Transform ToFollow; public Vector2 Offset; public Camera GameCamera; [SerializeField] [Tooltip("Hide Canvas when Following Panel is offscreen")] private bool _hideOffscreen; [SerializeField] [ConditionalField(new string[] { "_hideOffscreen" })] private Canvas _canvas; [SerializeField] private bool _editTime = true; private RectTransform _transform; public bool IsOffscreen => OffscreenOffset != Vector2.zero; private RectTransform Transform { get { if (!Object.op_Implicit((Object)(object)_transform)) { ref RectTransform transform = ref _transform; Transform transform2 = ((Component)this).transform; return transform = (RectTransform)(object)((transform2 is RectTransform) ? transform2 : null); } return _transform; } } public Vector2 OffscreenOffset { get { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0026: 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_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) Rect rect = Transform.rect; float num = ((Rect)(ref rect)).width / 2f; float num2 = 0f; Vector2 anchoredPosition = Transform.anchoredPosition; float num3 = anchoredPosition.x + num; float num4 = anchoredPosition.x - num - (float)Screen.width; if (num3 < 0f) { num2 = num3; } else if (num4 > 0f) { num2 = num4; } float num5 = ((Rect)(ref rect)).height / 2f; float num6 = 0f; float num7 = anchoredPosition.y + num5; float num8 = anchoredPosition.y - num5 - (float)Screen.height; if (num7 < 0f) { num6 = num7; } else if (num8 > 0f) { num6 = num8; } return new Vector2(num2, num6); } } private void LateUpdate() { //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: 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) if ((!_editTime && !Application.isPlaying) || (Object)(object)ToFollow == (Object)null) { return; } if ((Object)(object)GameCamera == (Object)null) { GameCamera = Camera.main; if ((Object)(object)GameCamera == (Object)null) { WarningsPool.LogWarning(((Object)this).name + ".UIFollow Caused: Main Camera not found. Assign Camera manually", (Object)(object)this); return; } } Transform.anchorMax = Vector2.zero; Transform.anchorMin = Vector2.zero; Vector3 val = ToFollow.position.Offset(Offset); Vector3 val2 = GameCamera.WorldToScreenPoint(val); Transform.anchoredPosition = Vector2.op_Implicit(val2); ToggleCanvasOffscreen(); } private void ToggleCanvasOffscreen() { if (_hideOffscreen) { ((Behaviour)_canvas).enabled = !IsOffscreen; } } } [RequireComponent(typeof(Button), typeof(Image))] public class UIImageBasedButton : MonoBehaviour, ISelectHandler, IEventSystemHandler, IDeselectHandler, IPointerEnterHandler, IPointerExitHandler { [SerializeField] [MustBeAssigned] private Sprite _regularSprite; [SerializeField] [MustBeAssigned] private Sprite _regularSelectedSprite; [SerializeField] [MustBeAssigned] private Sprite _clickedSprite; [SerializeField] [MustBeAssigned] private Sprite _clickedSelectedSprite; public Action OnToggled; private bool _alternative; private bool _selected; private Image _image; private Button _button; public bool AlternativeSpriteset { get { return _alternative; } set { _alternative = value; } } private void Awake() { _image = ((Component)this).GetComponent(); _button = ((Component)this).GetComponent