using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using UnityEngine;
using UnityEngine.SceneManagement;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("ClassLibrary5")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ClassLibrary5")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("4091b9c4-88c3-4b06-bcf3-5e54a0e1304e")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Gemini.Foddy.CombinedSuite;
[BepInPlugin("com.user.goi.ghostchaserpro.editor", "Runtime Workspace Editor", "4.5.0")]
[BepInProcess("GettingOverIt.exe")]
public class IntegratedWorkspacePlugin : BaseUnityPlugin
{
[Serializable]
public class TransformSnapshot
{
public GameObject targetObject;
public Vector3 position;
public Vector3 rotation;
public Vector3 scale;
public bool hasColliderData;
public Vector2 colliderOffset;
public Vector2 colliderSize;
public float circleRadius;
public Vector2[] polyVertices;
public TransformSnapshot(GameObject go)
{
//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_0027: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: 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_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
targetObject = go;
position = go.transform.position;
rotation = go.transform.localEulerAngles;
scale = go.transform.localScale;
Collider2D component = go.GetComponent<Collider2D>();
if (!((Object)(object)component != (Object)null))
{
return;
}
hasColliderData = true;
colliderOffset = component.offset;
BoxCollider2D val = (BoxCollider2D)(object)((component is BoxCollider2D) ? component : null);
if (val != null)
{
colliderSize = val.size;
return;
}
CapsuleCollider2D val2 = (CapsuleCollider2D)(object)((component is CapsuleCollider2D) ? component : null);
if (val2 != null)
{
colliderSize = val2.size;
return;
}
CircleCollider2D val3 = (CircleCollider2D)(object)((component is CircleCollider2D) ? component : null);
if (val3 != null)
{
circleRadius = val3.radius;
return;
}
PolygonCollider2D val4 = (PolygonCollider2D)(object)((component is PolygonCollider2D) ? component : null);
if (val4 != null)
{
polyVertices = (Vector2[])val4.points.Clone();
}
}
public void Restore()
{
//IL_0022: 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_0050: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_00a7: 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)
if ((Object)(object)targetObject == (Object)null)
{
return;
}
targetObject.transform.position = position;
targetObject.transform.localEulerAngles = rotation;
targetObject.transform.localScale = scale;
if (!hasColliderData)
{
return;
}
Collider2D component = targetObject.GetComponent<Collider2D>();
if (!((Object)(object)component != (Object)null))
{
return;
}
component.offset = colliderOffset;
BoxCollider2D val = (BoxCollider2D)(object)((component is BoxCollider2D) ? component : null);
if (val != null)
{
val.size = colliderSize;
return;
}
CapsuleCollider2D val2 = (CapsuleCollider2D)(object)((component is CapsuleCollider2D) ? component : null);
if (val2 != null)
{
val2.size = colliderSize;
return;
}
CircleCollider2D val3 = (CircleCollider2D)(object)((component is CircleCollider2D) ? component : null);
if (val3 != null)
{
val3.radius = circleRadius;
return;
}
PolygonCollider2D val4 = (PolygonCollider2D)(object)((component is PolygonCollider2D) ? component : null);
if (val4 != null && polyVertices != null)
{
val4.points = (Vector2[])polyVertices.Clone();
}
}
}
[Serializable]
public class SerializedElementData
{
public string entityIdentifierName;
public string fallbackPrefabReference;
public Vector3 storedPosition;
public Vector3 storedRotation;
public Vector3 storedScale;
}
[Serializable]
public class MasterMapSaveContainer
{
public List<SerializedElementData> registeredElements = new List<SerializedElementData>();
}
[CompilerGenerated]
private sealed class <WaitAndInitializeWorkspace>d__59 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
public IntegratedWorkspacePlugin <>4__this;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <WaitAndInitializeWorkspace>d__59(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>1__state = -2;
}
private bool MoveNext()
{
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
break;
case 1:
<>1__state = -1;
break;
}
if ((Object)(object)<>4__this.player == (Object)null)
{
<>4__this.player = GameObject.Find("Player") ?? GameObject.Find("Bennett");
<>2__current = null;
<>1__state = 1;
return true;
}
<>4__this.CacheOriginalCameraDefaults();
<>4__this.showMasterMenu = true;
return false;
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
private GameObject player;
private GameObject selectedObject;
private bool showMasterMenu = true;
private bool isSimulationPausedManually = false;
private Rect windowRect = new Rect(20f, 20f, 1150f, 780f);
private Vector2 scrollHierarchy;
private Vector2 scrollInspector;
private Vector2 scrollRightPanel;
private Vector2 scrollLoadMenu;
private string mapSaveNameInput = "MyCustomMap";
private string renameString = "";
private string selectedFilePath = "";
private bool showNewGameModalPrompt = false;
private bool viewingCustomMapsSubMenu = false;
private bool loadCustomMapOnBoot = false;
private string activeMapPathToLoad = "";
private List<GameObject> spawnablePrefabs = new List<GameObject>();
private List<Material> loadedMaterials = new List<Material>();
private List<Mesh> loadedMeshes = new List<Mesh>();
private Dictionary<string, bool> foldoutStates = new Dictionary<string, bool>();
private string componentSearchString = "";
private List<Type> allComponentTypes = new List<Type>();
private List<Type> filteredComponentTypes = new List<Type>();
private Vector2 componentSearchScroll;
private string prefabSearchFilter = "";
private string materialSearchFilter = "";
private string meshSearchFilter = "";
private string[] rightPanelTabs = new string[3] { "Prefabs", "Materials", "Meshes" };
private int activeRightPanelTab = 0;
private bool isRightPanelVisible = true;
private bool isFreecamActive = false;
private bool is3DModeActive = false;
private Vector3 originalCamPos;
private float originalCamSize;
private Quaternion originalCamRot;
private bool hasCachedOriginalCameraDefaults = false;
private Transform cameraTransform;
private Camera mainCam;
private Material outlineMaterial;
private Sprite whitePrimitivePixel;
private float rotationX = 0f;
private float rotationY = 0f;
private float lookSensitivity = 3f;
private bool isEditingColliderBounds = false;
private int activeDraggingHandleIndex = -1;
private Vector2 colliderDragStartOffset;
private Vector2 colliderDragStartSize;
private Vector3 mouseDragWorldStartPos;
private Vector2 polyDragStartVertexValue;
private Stack<TransformSnapshot> undoStack = new Stack<TransformSnapshot>();
private Stack<TransformSnapshot> redoStack = new Stack<TransformSnapshot>();
private bool isTrackingHistory = true;
private string SavesFolder => Path.Combine(Application.persistentDataPath, "runtime_workspace_saves");
private void Awake()
{
if (!Directory.Exists(SavesFolder))
{
Directory.CreateDirectory(SavesFolder);
}
SceneManager.sceneLoaded += OnSceneLoaded;
CreateOutlineMaterial();
GeneratePrimitiveSpriteAsset();
CacheAllValidComponentTypes();
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
selectedObject = null;
isFreecamActive = false;
is3DModeActive = false;
isSimulationPausedManually = false;
isEditingColliderBounds = false;
activeDraggingHandleIndex = -1;
hasCachedOriginalCameraDefaults = false;
undoStack.Clear();
redoStack.Clear();
RefreshAllAssetCaches();
((MonoBehaviour)this).StartCoroutine(WaitAndInitializeWorkspace());
if (loadCustomMapOnBoot && !string.IsNullOrEmpty(activeMapPathToLoad))
{
InterceptSceneAndDeploySavedMap(activeMapPathToLoad);
}
}
[IteratorStateMachine(typeof(<WaitAndInitializeWorkspace>d__59))]
private IEnumerator WaitAndInitializeWorkspace()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <WaitAndInitializeWorkspace>d__59(0)
{
<>4__this = this
};
}
private void CacheOriginalCameraDefaults()
{
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_0046: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
if (!hasCachedOriginalCameraDefaults)
{
mainCam = Camera.main;
if ((Object)(object)mainCam != (Object)null)
{
cameraTransform = ((Component)mainCam).transform;
originalCamPos = cameraTransform.position;
originalCamRot = cameraTransform.rotation;
originalCamSize = mainCam.orthographicSize;
hasCachedOriginalCameraDefaults = true;
}
}
}
private void CacheAllValidComponentTypes()
{
allComponentTypes.Clear();
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblies)
{
try
{
Type[] types = assembly.GetTypes();
foreach (Type type in types)
{
if (typeof(Component).IsAssignableFrom(type) && !type.IsAbstract && !type.IsGenericTypeDefinition)
{
allComponentTypes.Add(type);
}
}
}
catch
{
}
}
}
private void UpdateFilteredComponents(string filter)
{
filteredComponentTypes.Clear();
if (string.IsNullOrEmpty(filter))
{
return;
}
string value = filter.ToLower();
foreach (Type allComponentType in allComponentTypes)
{
if (allComponentType.Name.ToLower().Contains(value))
{
filteredComponentTypes.Add(allComponentType);
if (filteredComponentTypes.Count >= 30)
{
break;
}
}
}
}
private void Update()
{
//IL_0145: Unknown result type (might be due to invalid IL or missing references)
//IL_0155: Unknown result type (might be due to invalid IL or missing references)
//IL_016b: Unknown result type (might be due to invalid IL or missing references)
//IL_0193: Unknown result type (might be due to invalid IL or missing references)
//IL_0198: Unknown result type (might be due to invalid IL or missing references)
//IL_019d: Unknown result type (might be due to invalid IL or missing references)
//IL_019f: Unknown result type (might be due to invalid IL or missing references)
//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
//IL_0289: Unknown result type (might be due to invalid IL or missing references)
//IL_028e: Unknown result type (might be due to invalid IL or missing references)
//IL_02a1: Unknown result type (might be due to invalid IL or missing references)
//IL_02a3: Unknown result type (might be due to invalid IL or missing references)
//IL_02aa: Unknown result type (might be due to invalid IL or missing references)
//IL_02af: Unknown result type (might be due to invalid IL or missing references)
//IL_02b4: Unknown result type (might be due to invalid IL or missing references)
//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
//IL_02cd: Unknown result type (might be due to invalid IL or missing references)
//IL_02d4: Unknown result type (might be due to invalid IL or missing references)
//IL_02d9: Unknown result type (might be due to invalid IL or missing references)
//IL_02de: Unknown result type (might be due to invalid IL or missing references)
//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
//IL_02f7: Unknown result type (might be due to invalid IL or missing references)
//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0303: Unknown result type (might be due to invalid IL or missing references)
//IL_0308: Unknown result type (might be due to invalid IL or missing references)
//IL_031f: Unknown result type (might be due to invalid IL or missing references)
//IL_0321: Unknown result type (might be due to invalid IL or missing references)
//IL_0328: Unknown result type (might be due to invalid IL or missing references)
//IL_032d: Unknown result type (might be due to invalid IL or missing references)
//IL_0332: Unknown result type (might be due to invalid IL or missing references)
//IL_0392: Unknown result type (might be due to invalid IL or missing references)
if (Input.GetKeyDown((KeyCode)283))
{
showMasterMenu = !showMasterMenu;
}
HandleFreecamAnd3DMovement();
if (showNewGameModalPrompt)
{
Time.timeScale = 0f;
}
else
{
Time.timeScale = (isSimulationPausedManually ? 0f : 1f);
}
if (showMasterMenu && isEditingColliderBounds && (Object)(object)selectedObject != (Object)null)
{
ProcessColliderHandleDragLogic();
}
if (showMasterMenu || showNewGameModalPrompt)
{
if (is3DModeActive && Input.GetMouseButton(1))
{
Cursor.visible = false;
Cursor.lockState = (CursorLockMode)1;
}
else
{
Cursor.visible = true;
Cursor.lockState = (CursorLockMode)0;
}
}
else if (!isFreecamActive)
{
Cursor.visible = false;
Cursor.lockState = (CursorLockMode)1;
}
if ((Object)(object)player == (Object)null || showNewGameModalPrompt)
{
return;
}
if (showMasterMenu && Input.GetMouseButtonDown(0) && activeDraggingHandleIndex == -1)
{
Vector2 val = default(Vector2);
((Vector2)(ref val))..ctor(Input.mousePosition.x, (float)Screen.height - Input.mousePosition.y);
if (!((Rect)(ref windowRect)).Contains(val) && (Object)(object)Camera.main != (Object)null)
{
Ray val2 = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit2D rayIntersection = Physics2D.GetRayIntersection(val2);
if ((Object)(object)((RaycastHit2D)(ref rayIntersection)).collider != (Object)null && (Object)(object)((Component)((RaycastHit2D)(ref rayIntersection)).collider).gameObject != (Object)(object)selectedObject)
{
selectedObject = ((Component)((RaycastHit2D)(ref rayIntersection)).collider).gameObject;
isEditingColliderBounds = false;
}
}
}
if (!((Object)(object)selectedObject != (Object)null) || !showMasterMenu)
{
return;
}
if (Input.GetKey((KeyCode)306) || Input.GetKey((KeyCode)305))
{
if (Input.GetKeyDown((KeyCode)122))
{
ExecuteUndo();
}
if (Input.GetKeyDown((KeyCode)121))
{
ExecuteRedo();
}
}
float num = (Input.GetKey((KeyCode)304) ? 10f : 3f);
float num2 = Time.unscaledDeltaTime * num;
bool flag = false;
Vector3 val3 = Vector3.zero;
if (Input.GetKey((KeyCode)273))
{
val3 += Vector3.up * num2;
flag = true;
}
if (Input.GetKey((KeyCode)274))
{
val3 += Vector3.down * num2;
flag = true;
}
if (Input.GetKey((KeyCode)276))
{
val3 += Vector3.left * num2;
flag = true;
}
if (Input.GetKey((KeyCode)275))
{
val3 += Vector3.right * num2;
flag = true;
}
if (flag)
{
if (Input.GetKeyDown((KeyCode)273) || Input.GetKeyDown((KeyCode)274) || Input.GetKeyDown((KeyCode)276) || Input.GetKeyDown((KeyCode)275))
{
RecordStateForUndo(selectedObject);
}
selectedObject.transform.Translate(val3, (Space)1);
}
if ((Input.GetKey((KeyCode)306) || Input.GetKey((KeyCode)305)) && Input.GetKeyDown((KeyCode)100))
{
DuplicateSelected();
}
if (Input.GetKeyDown((KeyCode)127))
{
DeleteSelected();
}
}
private void OnPostRender()
{
if (showMasterMenu && !((Object)(object)selectedObject == (Object)null) && !((Object)(object)outlineMaterial == (Object)null))
{
SpriteRenderer component = selectedObject.GetComponent<SpriteRenderer>();
if ((Object)(object)component != (Object)null && (Object)(object)component.sprite != (Object)null && !isEditingColliderBounds)
{
DrawSpriteWireframe(component);
}
}
}
private void RecordStateForUndo(GameObject go)
{
if (isTrackingHistory && !((Object)(object)go == (Object)null))
{
undoStack.Push(new TransformSnapshot(go));
redoStack.Clear();
}
}
private void ExecuteUndo()
{
if (undoStack.Count != 0)
{
isTrackingHistory = false;
TransformSnapshot transformSnapshot = undoStack.Pop();
redoStack.Push(new TransformSnapshot(transformSnapshot.targetObject));
transformSnapshot.Restore();
isTrackingHistory = true;
}
}
private void ExecuteRedo()
{
if (redoStack.Count != 0)
{
isTrackingHistory = false;
TransformSnapshot transformSnapshot = redoStack.Pop();
undoStack.Push(new TransformSnapshot(transformSnapshot.targetObject));
transformSnapshot.Restore();
isTrackingHistory = true;
}
}
private void ToggleFreecam()
{
//IL_00de: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
//IL_0090: Unknown result type (might be due to invalid IL or missing references)
//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
mainCam = Camera.main;
if ((Object)(object)mainCam == (Object)null)
{
return;
}
cameraTransform = ((Component)mainCam).transform;
CacheOriginalCameraDefaults();
isFreecamActive = !isFreecamActive;
MonoBehaviour component = ((Component)mainCam).GetComponent<MonoBehaviour>();
if (isFreecamActive)
{
if ((Object)(object)component != (Object)null)
{
((Behaviour)component).enabled = false;
}
}
else if (!is3DModeActive)
{
cameraTransform.position = originalCamPos;
mainCam.orthographicSize = originalCamSize;
cameraTransform.rotation = originalCamRot;
if ((Object)(object)component != (Object)null)
{
((Behaviour)component).enabled = true;
}
}
else
{
Vector3 localEulerAngles = cameraTransform.localEulerAngles;
rotationX = localEulerAngles.y;
rotationY = 0f - localEulerAngles.x;
}
}
private void Toggle3DMode()
{
//IL_0106: Unknown result type (might be due to invalid IL or missing references)
//IL_0118: Unknown result type (might be due to invalid IL or missing references)
//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
mainCam = Camera.main;
if ((Object)(object)mainCam == (Object)null)
{
return;
}
cameraTransform = ((Component)mainCam).transform;
CacheOriginalCameraDefaults();
is3DModeActive = !is3DModeActive;
MonoBehaviour component = ((Component)mainCam).GetComponent<MonoBehaviour>();
if (is3DModeActive)
{
if ((Object)(object)component != (Object)null && isFreecamActive)
{
((Behaviour)component).enabled = false;
}
mainCam.orthographic = false;
mainCam.fieldOfView = 60f;
cameraTransform.position = new Vector3(cameraTransform.position.x, cameraTransform.position.y, -15f);
Vector3 localEulerAngles = cameraTransform.localEulerAngles;
rotationX = localEulerAngles.y;
rotationY = 0f - localEulerAngles.x;
}
else
{
cameraTransform.position = originalCamPos;
cameraTransform.rotation = originalCamRot;
mainCam.orthographicSize = originalCamSize;
mainCam.orthographic = true;
if ((Object)(object)component != (Object)null && !isFreecamActive)
{
((Behaviour)component).enabled = true;
}
}
}
private void HandleFreecamAnd3DMovement()
{
//IL_00de: Unknown result type (might be due to invalid IL or missing references)
//IL_011f: Unknown result type (might be due to invalid IL or missing references)
//IL_0124: Unknown result type (might be due to invalid IL or missing references)
//IL_01cc: Unknown result type (might be due to invalid IL or missing references)
//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
//IL_01d2: Unknown result type (might be due to invalid IL or missing references)
//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
//IL_0142: Unknown result type (might be due to invalid IL or missing references)
//IL_0149: Unknown result type (might be due to invalid IL or missing references)
//IL_014e: Unknown result type (might be due to invalid IL or missing references)
//IL_0153: Unknown result type (might be due to invalid IL or missing references)
//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
//IL_0161: Unknown result type (might be due to invalid IL or missing references)
//IL_0168: Unknown result type (might be due to invalid IL or missing references)
//IL_016d: Unknown result type (might be due to invalid IL or missing references)
//IL_0172: Unknown result type (might be due to invalid IL or missing references)
//IL_0177: Unknown result type (might be due to invalid IL or missing references)
//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0204: Unknown result type (might be due to invalid IL or missing references)
//IL_0209: Unknown result type (might be due to invalid IL or missing references)
//IL_0185: Unknown result type (might be due to invalid IL or missing references)
//IL_018c: Unknown result type (might be due to invalid IL or missing references)
//IL_0191: Unknown result type (might be due to invalid IL or missing references)
//IL_0196: Unknown result type (might be due to invalid IL or missing references)
//IL_019b: Unknown result type (might be due to invalid IL or missing references)
//IL_0217: Unknown result type (might be due to invalid IL or missing references)
//IL_0218: Unknown result type (might be due to invalid IL or missing references)
//IL_021d: Unknown result type (might be due to invalid IL or missing references)
//IL_0222: Unknown result type (might be due to invalid IL or missing references)
//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
//IL_022b: Unknown result type (might be due to invalid IL or missing references)
//IL_0230: Unknown result type (might be due to invalid IL or missing references)
//IL_0232: Unknown result type (might be due to invalid IL or missing references)
//IL_0237: Unknown result type (might be due to invalid IL or missing references)
//IL_02a5: Unknown result type (might be due to invalid IL or missing references)
//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
//IL_02b6: Unknown result type (might be due to invalid IL or missing references)
//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
//IL_02c5: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)mainCam == (Object)null)
{
mainCam = Camera.main;
}
if ((Object)(object)mainCam == (Object)null)
{
return;
}
cameraTransform = ((Component)mainCam).transform;
if (showNewGameModalPrompt)
{
return;
}
if (is3DModeActive && Input.GetMouseButton(1))
{
rotationX += Input.GetAxis("Mouse X") * lookSensitivity;
rotationY += Input.GetAxis("Mouse Y") * lookSensitivity;
rotationY = Mathf.Clamp(rotationY, -85f, 85f);
cameraTransform.localRotation = Quaternion.Euler(0f - rotationY, rotationX, 0f);
}
if (!isFreecamActive)
{
return;
}
float num = (Input.GetKey((KeyCode)304) ? 25f : 10f);
float num2 = Time.unscaledDeltaTime * num;
Vector3 val = Vector3.zero;
if (is3DModeActive)
{
if (Input.GetKey((KeyCode)119))
{
val += cameraTransform.forward;
}
if (Input.GetKey((KeyCode)115))
{
val += -cameraTransform.forward;
}
if (Input.GetKey((KeyCode)97))
{
val += -cameraTransform.right;
}
if (Input.GetKey((KeyCode)100))
{
val += cameraTransform.right;
}
}
else
{
if (Input.GetKey((KeyCode)119))
{
val += Vector3.up;
}
if (Input.GetKey((KeyCode)115))
{
val += Vector3.down;
}
if (Input.GetKey((KeyCode)97))
{
val += Vector3.left;
}
if (Input.GetKey((KeyCode)100))
{
val += Vector3.right;
}
}
Transform obj = cameraTransform;
obj.position += val * num2;
float axis = Input.GetAxis("Mouse ScrollWheel");
if (axis != 0f)
{
if (mainCam.orthographic)
{
mainCam.orthographicSize = Mathf.Max(1f, mainCam.orthographicSize - axis * 5f);
return;
}
Transform obj2 = cameraTransform;
obj2.position += cameraTransform.forward * axis * 15f;
}
}
private void DuplicateSelected()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: 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_004d: Unknown result type (might be due to invalid IL or missing references)
if (!((Object)(object)selectedObject == (Object)null))
{
GameObject val = Object.Instantiate<GameObject>(selectedObject, selectedObject.transform.position + new Vector3(0.5f, 0.5f, 0f), selectedObject.transform.rotation);
((Object)val).name = ((Object)selectedObject).name.Replace("_Spawned", "") + "_Spawned";
selectedObject = val;
isEditingColliderBounds = false;
}
}
private void DeleteSelected()
{
if (!((Object)(object)selectedObject == (Object)null))
{
Object.Destroy((Object)(object)selectedObject);
selectedObject = null;
isEditingColliderBounds = false;
}
}
private Vector3 GetSpawnLocationNearPlayer()
{
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_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_005b: 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_0071: Unknown result type (might be due to invalid IL or missing references)
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)player != (Object)null)
{
return player.transform.position + new Vector3(2f, 1.5f, 0f);
}
Vector3 result = (((Object)(object)Camera.main != (Object)null) ? ((Component)Camera.main).transform.position : Vector3.zero);
result.z = 0f;
return result;
}
private void WriteCurrentLayoutToDisk(string saveName)
{
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
if (string.IsNullOrEmpty(saveName.Trim()))
{
return;
}
try
{
MasterMapSaveContainer masterMapSaveContainer = new MasterMapSaveContainer();
GameObject[] array = Object.FindObjectsOfType<GameObject>();
foreach (GameObject val in array)
{
if (((Object)val).name.Contains("_Spawned") || ((Object)val).name.Contains("SpawnedMesh_") || ((Object)val).name.Contains("2D_"))
{
SerializedElementData item = new SerializedElementData
{
entityIdentifierName = ((Object)val).name,
fallbackPrefabReference = ((Object)val).name.Replace("_Spawned", "").Replace("SpawnedMesh_", "").Trim(),
storedPosition = val.transform.position,
storedRotation = val.transform.localEulerAngles,
storedScale = val.transform.localScale
};
masterMapSaveContainer.registeredElements.Add(item);
}
}
string path = Path.Combine(SavesFolder, saveName.Trim() + "_map.json");
File.WriteAllText(path, JsonUtility.ToJson((object)masterMapSaveContainer, true));
}
catch (Exception ex)
{
Debug.LogError((object)("Error saving map: " + ex.Message));
}
}
private void InterceptSceneAndDeploySavedMap(string fullPath)
{
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Expected O, but got Unknown
//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
if (!File.Exists(fullPath))
{
return;
}
try
{
MasterMapSaveContainer masterMapSaveContainer = JsonUtility.FromJson<MasterMapSaveContainer>(File.ReadAllText(fullPath));
foreach (SerializedElementData node in masterMapSaveContainer.registeredElements)
{
GameObject val = null;
GameObject val2 = spawnablePrefabs.Find((GameObject x) => (Object)(object)x != (Object)null && ((Object)x).name.Equals(node.fallbackPrefabReference, StringComparison.OrdinalIgnoreCase));
if ((Object)(object)val2 != (Object)null)
{
val = Object.Instantiate<GameObject>(val2);
}
else
{
val = new GameObject();
SpriteRenderer val3 = val.AddComponent<SpriteRenderer>();
val3.sprite = whitePrimitivePixel;
}
if ((Object)(object)val != (Object)null)
{
((Object)val).name = node.entityIdentifierName;
val.transform.position = node.storedPosition;
val.transform.localEulerAngles = node.storedRotation;
val.transform.localScale = node.storedScale;
}
}
}
catch (Exception ex)
{
Debug.LogError((object)("Error deploying override map: " + ex.Message));
}
}
private void OnGUI()
{
//IL_0064: 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_00b0: Unknown result type (might be due to invalid IL or missing references)
//IL_00bf: Expected O, but got Unknown
//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
//IL_00f3: 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_010e: Expected O, but got Unknown
//IL_0109: 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)
if (showMasterMenu && isEditingColliderBounds && (Object)(object)selectedObject != (Object)null)
{
DrawUnityColliderOnScreenGuiOverlay(selectedObject);
}
if (showMasterMenu || showNewGameModalPrompt)
{
GUI.backgroundColor = new Color(0.15f, 0.15f, 0.15f, 1f);
if (showNewGameModalPrompt)
{
Rect val = default(Rect);
((Rect)(ref val))..ctor((float)(Screen.width / 2 - 250), (float)(Screen.height / 2 - 200), 500f, 400f);
GUI.Window(2, val, new WindowFunction(DrawIsolatedNewGameModalPrompt), "\ud83c\udd95 NEW GAME CONFIGURATOR (SIMULATION PAUSED)");
}
else if (showMasterMenu)
{
((Rect)(ref windowRect)).width = (isRightPanelVisible ? 1150f : 790f);
windowRect = GUI.Window(0, windowRect, new WindowFunction(DrawMainEditorInterface), "PRO MASTER SYSTEM DECK (F2 to open/close)");
}
}
}
private void DrawMainEditorInterface(int windowID)
{
//IL_001b: 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_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
//IL_009f: Unknown result type (might be due to invalid IL or missing references)
//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
//IL_014e: Unknown result type (might be due to invalid IL or missing references)
//IL_0147: Unknown result type (might be due to invalid IL or missing references)
//IL_019c: Unknown result type (might be due to invalid IL or missing references)
//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
//IL_0350: Unknown result type (might be due to invalid IL or missing references)
//IL_038b: Unknown result type (might be due to invalid IL or missing references)
//IL_03ef: Unknown result type (might be due to invalid IL or missing references)
//IL_03f9: Unknown result type (might be due to invalid IL or missing references)
//IL_03fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0409: Unknown result type (might be due to invalid IL or missing references)
//IL_040e: Unknown result type (might be due to invalid IL or missing references)
//IL_04b8: Unknown result type (might be due to invalid IL or missing references)
//IL_04c2: Unknown result type (might be due to invalid IL or missing references)
//IL_04c7: Unknown result type (might be due to invalid IL or missing references)
//IL_05a8: Unknown result type (might be due to invalid IL or missing references)
//IL_05b2: Unknown result type (might be due to invalid IL or missing references)
//IL_05b7: Unknown result type (might be due to invalid IL or missing references)
//IL_06c5: Unknown result type (might be due to invalid IL or missing references)
//IL_06cf: Unknown result type (might be due to invalid IL or missing references)
//IL_06d4: Unknown result type (might be due to invalid IL or missing references)
//IL_07f7: Unknown result type (might be due to invalid IL or missing references)
//IL_0801: Unknown result type (might be due to invalid IL or missing references)
//IL_0806: Unknown result type (might be due to invalid IL or missing references)
//IL_063d: Unknown result type (might be due to invalid IL or missing references)
//IL_0642: Unknown result type (might be due to invalid IL or missing references)
//IL_08fc: Unknown result type (might be due to invalid IL or missing references)
//IL_0903: Expected O, but got Unknown
//IL_090b: Unknown result type (might be due to invalid IL or missing references)
//IL_0962: Unknown result type (might be due to invalid IL or missing references)
GUI.DragWindow(new Rect(0f, 0f, ((Rect)(ref windowRect)).width, 20f));
GUI.backgroundColor = Color.white;
GUILayout.BeginHorizontal(GUI.skin.box, Array.Empty<GUILayoutOption>());
GUI.backgroundColor = (isFreecamActive ? Color.green : Color.white);
if (GUILayout.Button(isFreecamActive ? "Disable Freecam" : "Enable Freecam", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(115f) }))
{
ToggleFreecam();
}
GUI.backgroundColor = (is3DModeActive ? Color.green : Color.white);
if (GUILayout.Button(is3DModeActive ? "Perspective: 3D" : "Orthographic: 2D", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(130f) }))
{
Toggle3DMode();
}
GUI.backgroundColor = Color.white;
if (GUILayout.Button(isRightPanelVisible ? "\ud83d\udc41 Hide Assets" : "\ud83d\udc41 Show Assets", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(110f) }))
{
isRightPanelVisible = !isRightPanelVisible;
}
GUILayout.Space(5f);
GUI.backgroundColor = (isSimulationPausedManually ? Color.yellow : Color.white);
if (GUILayout.Button(isSimulationPausedManually ? "▶ Resume Game" : "⏸ Pause Game", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(110f) }))
{
isSimulationPausedManually = !isSimulationPausedManually;
}
GUI.backgroundColor = Color.white;
GUILayout.Space(5f);
GUI.backgroundColor = Color.cyan;
if (GUILayout.Button("\ud83c\udd95 New Game", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) }))
{
showNewGameModalPrompt = true;
viewingCustomMapsSubMenu = false;
selectedFilePath = "";
}
GUI.backgroundColor = Color.white;
GUILayout.Space(5f);
GUI.enabled = undoStack.Count > 0;
if (GUILayout.Button("↶ Undo", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(65f) }))
{
ExecuteUndo();
}
GUI.enabled = redoStack.Count > 0;
if (GUILayout.Button("↷ Redo", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(65f) }))
{
ExecuteRedo();
}
GUI.enabled = true;
GUILayout.FlexibleSpace();
GUI.enabled = (Object)(object)selectedObject != (Object)null;
GUI.backgroundColor = Color.cyan;
if (GUILayout.Button("\ud83d\udc6f Quick Duplicate Selection", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(190f) }))
{
DuplicateSelected();
}
GUI.backgroundColor = Color.white;
GUI.enabled = true;
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal(GUI.skin.box, Array.Empty<GUILayoutOption>());
GUILayout.Label("<b>Save File Name:</b>", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(110f) });
mapSaveNameInput = GUILayout.TextField(mapSaveNameInput, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(180f) });
GUI.backgroundColor = Color.green;
if (GUILayout.Button("\ud83d\udcbe Save Map JSON", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(125f) }))
{
WriteCurrentLayoutToDisk(mapSaveNameInput);
}
GUI.backgroundColor = Color.white;
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.BeginVertical(GUI.skin.box, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(240f),
GUILayout.ExpandHeight(true)
});
GUILayout.Label("<b>Scene Tree Matrix</b>", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) });
scrollHierarchy = GUILayout.BeginScrollView(scrollHierarchy, Array.Empty<GUILayoutOption>());
List<GameObject> list = new List<GameObject>();
Scene activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).isLoaded)
{
((Scene)(ref activeScene)).GetRootGameObjects(list);
foreach (GameObject item in list)
{
DrawHierarchyNode(item.transform, 0);
}
}
GUILayout.EndScrollView();
GUILayout.EndVertical();
GUILayout.BeginVertical(GUI.skin.box, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(500f),
GUILayout.ExpandHeight(true)
});
GUILayout.Label("<b>Object Inspector</b>", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) });
scrollInspector = GUILayout.BeginScrollView(scrollInspector, Array.Empty<GUILayoutOption>());
if ((Object)(object)selectedObject != (Object)null)
{
DrawInspector(selectedObject);
}
else
{
GUILayout.Label("Select an active item inside the level world frame to display properties.", Array.Empty<GUILayoutOption>());
}
GUILayout.EndScrollView();
GUILayout.EndVertical();
if (isRightPanelVisible)
{
GUILayout.BeginVertical(GUI.skin.box, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(360f),
GUILayout.ExpandHeight(true)
});
activeRightPanelTab = GUILayout.Toolbar(activeRightPanelTab, rightPanelTabs, Array.Empty<GUILayoutOption>());
if (GUILayout.Button("Scan & Refresh Native Game Resources Caches", Array.Empty<GUILayoutOption>()))
{
RefreshAllAssetCaches();
}
if (activeRightPanelTab == 0)
{
prefabSearchFilter = GUILayout.TextField(prefabSearchFilter, Array.Empty<GUILayoutOption>());
scrollRightPanel = GUILayout.BeginScrollView(scrollRightPanel, Array.Empty<GUILayoutOption>());
foreach (GameObject spawnablePrefab in spawnablePrefabs)
{
if (!((Object)(object)spawnablePrefab == (Object)null) && (string.IsNullOrEmpty(prefabSearchFilter) || ((Object)spawnablePrefab).name.IndexOf(prefabSearchFilter, StringComparison.OrdinalIgnoreCase) >= 0) && GUILayout.Button(((Object)spawnablePrefab).name, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(22f) }))
{
GameObject val = Object.Instantiate<GameObject>(spawnablePrefab, GetSpawnLocationNearPlayer(), Quaternion.identity);
((Object)val).name = ((Object)spawnablePrefab).name + "_Spawned";
selectedObject = val;
}
}
GUILayout.EndScrollView();
}
else if (activeRightPanelTab == 1)
{
materialSearchFilter = GUILayout.TextField(materialSearchFilter, Array.Empty<GUILayoutOption>());
scrollRightPanel = GUILayout.BeginScrollView(scrollRightPanel, Array.Empty<GUILayoutOption>());
foreach (Material loadedMaterial in loadedMaterials)
{
if (!((Object)(object)loadedMaterial == (Object)null) && (string.IsNullOrEmpty(materialSearchFilter) || ((Object)loadedMaterial).name.IndexOf(materialSearchFilter, StringComparison.OrdinalIgnoreCase) >= 0) && GUILayout.Button(((Object)loadedMaterial).name, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(24f) }) && (Object)(object)selectedObject != (Object)null && (Object)(object)selectedObject.GetComponent<Renderer>() != (Object)null)
{
RecordStateForUndo(selectedObject);
selectedObject.GetComponent<Renderer>().material = loadedMaterial;
}
}
GUILayout.EndScrollView();
}
else if (activeRightPanelTab == 2)
{
meshSearchFilter = GUILayout.TextField(meshSearchFilter, Array.Empty<GUILayoutOption>());
scrollRightPanel = GUILayout.BeginScrollView(scrollRightPanel, Array.Empty<GUILayoutOption>());
foreach (Mesh loadedMesh in loadedMeshes)
{
if ((Object)(object)loadedMesh == (Object)null)
{
continue;
}
string mName = (string.IsNullOrEmpty(((Object)loadedMesh).name) ? $"[Mesh_{((Object)loadedMesh).GetInstanceID()}]" : ((Object)loadedMesh).name);
if ((string.IsNullOrEmpty(meshSearchFilter) || mName.IndexOf(meshSearchFilter, StringComparison.OrdinalIgnoreCase) >= 0) && GUILayout.Button($"{mName} ({loadedMesh.vertexCount} Verts)", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(24f) }))
{
GameObject val2 = new GameObject("SpawnedMesh_" + mName + "_Spawned");
val2.transform.position = GetSpawnLocationNearPlayer();
MeshFilter val3 = val2.AddComponent<MeshFilter>();
val3.sharedMesh = loadedMesh;
MeshRenderer val4 = val2.AddComponent<MeshRenderer>();
Material val5 = loadedMaterials.Find((Material m) => (Object)(object)m != (Object)null && ((Object)m).name.Equals(mName, StringComparison.OrdinalIgnoreCase));
((Renderer)val4).material = (Material)(((Object)(object)val5 != (Object)null) ? ((object)val5) : ((object)new Material(Shader.Find("Sprites/Default"))));
val2.AddComponent<MeshCollider>();
selectedObject = val2;
}
}
GUILayout.EndScrollView();
}
GUILayout.EndVertical();
}
GUILayout.EndHorizontal();
}
private void DrawIsolatedNewGameModalPrompt(int windowID)
{
//IL_012a: Unknown result type (might be due to invalid IL or missing references)
//IL_0142: Unknown result type (might be due to invalid IL or missing references)
//IL_0147: 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_0089: Unknown result type (might be due to invalid IL or missing references)
//IL_0321: Unknown result type (might be due to invalid IL or missing references)
//IL_035a: Unknown result type (might be due to invalid IL or missing references)
//IL_03b6: Unknown result type (might be due to invalid IL or missing references)
//IL_039c: Unknown result type (might be due to invalid IL or missing references)
//IL_03a1: Unknown result type (might be due to invalid IL or missing references)
Scene activeScene;
if (!viewingCustomMapsSubMenu)
{
GUILayout.Space(20f);
GUILayout.Label("Select your deployment configuration strategy below. Starting a fresh execution sequence will reset your active workspace structures cleanly.", GUI.skin.label, Array.Empty<GUILayoutOption>());
GUILayout.Space(40f);
if (GUILayout.Button("\ud83d\uddfa DEFAULT MAP OVERLAY RUN", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(45f) }))
{
loadCustomMapOnBoot = false;
activeMapPathToLoad = "";
showNewGameModalPrompt = false;
showMasterMenu = false;
activeScene = SceneManager.GetActiveScene();
SceneManager.LoadScene(((Scene)(ref activeScene)).buildIndex);
}
GUILayout.Space(25f);
if (GUILayout.Button("\ud83d\udcc2 CUSTOM MAP REPOSITORIES INDEX", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(45f) }))
{
viewingCustomMapsSubMenu = true;
}
GUILayout.FlexibleSpace();
if (GUILayout.Button("❌ CANCEL", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(30f) }))
{
showNewGameModalPrompt = false;
}
return;
}
GUILayout.Label("<b>Stored Custom Map Files:</b>", Array.Empty<GUILayoutOption>());
string[] files = Directory.GetFiles(SavesFolder, "*_map.json");
scrollLoadMenu = GUILayout.BeginScrollView(scrollLoadMenu, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(160f) });
if (files.Length == 0)
{
GUILayout.Label("<i>No saved maps found in directory pool.</i>", Array.Empty<GUILayoutOption>());
}
foreach (string text in files)
{
string text2 = Path.GetFileNameWithoutExtension(text).Replace("_map", "");
string text3 = ((selectedFilePath == text) ? (">> " + text2.ToUpper() + " <<") : text2);
if (GUILayout.Button(text3, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(26f) }))
{
selectedFilePath = text;
renameString = text2;
}
}
GUILayout.EndScrollView();
if (!string.IsNullOrEmpty(selectedFilePath) && File.Exists(selectedFilePath))
{
GUILayout.BeginVertical(GUI.skin.box, Array.Empty<GUILayoutOption>());
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Label("Rename:", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(60f) });
renameString = GUILayout.TextField(renameString, Array.Empty<GUILayoutOption>());
if (GUILayout.Button("Apply", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(70f) }) && !string.IsNullOrEmpty(renameString.Trim()))
{
string text4 = Path.Combine(SavesFolder, renameString.Trim() + "_map.json");
if (!File.Exists(text4))
{
File.Move(selectedFilePath, text4);
selectedFilePath = text4;
}
}
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUI.backgroundColor = Color.red;
if (GUILayout.Button("\ud83d\uddd1 DELETE FILE", Array.Empty<GUILayoutOption>()))
{
File.Delete(selectedFilePath);
selectedFilePath = "";
}
GUI.backgroundColor = Color.green;
if (GUILayout.Button("\ud83d\ude80 BOOT THIS CUSTOM RUN", Array.Empty<GUILayoutOption>()))
{
loadCustomMapOnBoot = true;
activeMapPathToLoad = selectedFilePath;
showNewGameModalPrompt = false;
showMasterMenu = false;
activeScene = SceneManager.GetActiveScene();
SceneManager.LoadScene(((Scene)(ref activeScene)).buildIndex);
}
GUILayout.EndHorizontal();
GUI.backgroundColor = Color.white;
GUILayout.EndVertical();
}
GUILayout.FlexibleSpace();
if (GUILayout.Button("◁ BACK", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(30f) }))
{
viewingCustomMapsSubMenu = false;
selectedFilePath = "";
}
}
private void DrawHierarchyNode(Transform t, int indent)
{
//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
//IL_00f6: Expected O, but got Unknown
//IL_0116: Unknown result type (might be due to invalid IL or missing references)
//IL_010f: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)t == (Object)null)
{
return;
}
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Space((float)(indent * 12));
string key = ((Object)((Component)t).gameObject).GetInstanceID().ToString();
if (!foldoutStates.ContainsKey(key))
{
foldoutStates[key] = false;
}
if (t.childCount > 0)
{
string text = (foldoutStates[key] ? "▼ " : "► ");
if (GUILayout.Button(text, GUI.skin.label, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(15f) }))
{
foldoutStates[key] = !foldoutStates[key];
}
}
else
{
GUILayout.Space(15f);
}
GUIStyle val = new GUIStyle(GUI.skin.label)
{
alignment = (TextAnchor)3
};
val.normal.textColor = (((Object)(object)selectedObject == (Object)(object)((Component)t).gameObject) ? Color.cyan : Color.white);
if (GUILayout.Button(((Object)t).name, val, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) }))
{
selectedObject = ((Component)t).gameObject;
isEditingColliderBounds = false;
}
GUILayout.EndHorizontal();
if (t.childCount > 0 && foldoutStates[key])
{
for (int i = 0; i < t.childCount; i++)
{
DrawHierarchyNode(t.GetChild(i), indent + 1);
}
}
}
private void DrawInspector(GameObject go)
{
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0080: Unknown result type (might be due to invalid IL or missing references)
//IL_01dc: Unknown result type (might be due to invalid IL or missing references)
//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0203: Unknown result type (might be due to invalid IL or missing references)
//IL_0418: Unknown result type (might be due to invalid IL or missing references)
//IL_0419: Unknown result type (might be due to invalid IL or missing references)
//IL_041b: Unknown result type (might be due to invalid IL or missing references)
//IL_041c: Unknown result type (might be due to invalid IL or missing references)
//IL_041e: Unknown result type (might be due to invalid IL or missing references)
//IL_0420: Unknown result type (might be due to invalid IL or missing references)
//IL_045a: Unknown result type (might be due to invalid IL or missing references)
//IL_045c: Unknown result type (might be due to invalid IL or missing references)
//IL_0cc2: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce3: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce8: Unknown result type (might be due to invalid IL or missing references)
//IL_0a50: Unknown result type (might be due to invalid IL or missing references)
//IL_04a4: Unknown result type (might be due to invalid IL or missing references)
//IL_04a6: Unknown result type (might be due to invalid IL or missing references)
//IL_0ab0: Unknown result type (might be due to invalid IL or missing references)
//IL_04ee: Unknown result type (might be due to invalid IL or missing references)
//IL_04f0: Unknown result type (might be due to invalid IL or missing references)
//IL_0522: Unknown result type (might be due to invalid IL or missing references)
//IL_0535: Unknown result type (might be due to invalid IL or missing references)
//IL_0548: Unknown result type (might be due to invalid IL or missing references)
//IL_05d0: Unknown result type (might be due to invalid IL or missing references)
//IL_05c9: Unknown result type (might be due to invalid IL or missing references)
//IL_0625: Unknown result type (might be due to invalid IL or missing references)
//IL_0638: Unknown result type (might be due to invalid IL or missing references)
//IL_063d: Unknown result type (might be due to invalid IL or missing references)
//IL_06cc: Unknown result type (might be due to invalid IL or missing references)
//IL_06d0: Unknown result type (might be due to invalid IL or missing references)
//IL_06f0: Unknown result type (might be due to invalid IL or missing references)
//IL_0713: Unknown result type (might be due to invalid IL or missing references)
//IL_0718: Unknown result type (might be due to invalid IL or missing references)
//IL_07a7: Unknown result type (might be due to invalid IL or missing references)
//IL_07ab: Unknown result type (might be due to invalid IL or missing references)
//IL_07cb: Unknown result type (might be due to invalid IL or missing references)
//IL_0884: Unknown result type (might be due to invalid IL or missing references)
//IL_0889: Unknown result type (might be due to invalid IL or missing references)
//IL_0918: Unknown result type (might be due to invalid IL or missing references)
//IL_091c: Unknown result type (might be due to invalid IL or missing references)
//IL_093c: Unknown result type (might be due to invalid IL or missing references)
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
((Object)go).name = GUILayout.TextField(((Object)go).name, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) });
GUI.backgroundColor = Color.cyan;
if (GUILayout.Button("\ud83d\udccb Duplicate", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(95f) }))
{
DuplicateSelected();
}
GUI.backgroundColor = Color.white;
GUILayout.EndHorizontal();
bool flag = GUILayout.Toggle(go.activeSelf, " Is Enabled", Array.Empty<GUILayoutOption>());
if (flag != go.activeSelf)
{
go.SetActive(flag);
}
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUI.enabled = (Object)(object)go.transform.parent != (Object)null;
if (GUILayout.Button("\ud83d\udd3a Go to Parent", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(22f) }))
{
selectedObject = ((Component)go.transform.parent).gameObject;
isEditingColliderBounds = false;
}
GUI.enabled = go.transform.childCount > 0;
if (GUILayout.Button("\ud83d\udd3b Go to First Child", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(22f) }))
{
selectedObject = ((Component)go.transform.GetChild(0)).gameObject;
isEditingColliderBounds = false;
}
GUI.enabled = true;
GUILayout.EndHorizontal();
GUILayout.Space(10f);
GUILayout.Label("<b>Transform Configuration</b>", GUI.skin.box, Array.Empty<GUILayoutOption>());
Vector3 position = go.transform.position;
Vector3 localEulerAngles = go.transform.localEulerAngles;
Vector3 localScale = go.transform.localScale;
bool flag2 = false;
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Label("Pos", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(40f) });
string s = GUILayout.TextField(position.x.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
string s2 = GUILayout.TextField(position.y.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
string s3 = GUILayout.TextField(position.z.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Label("Rot", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(40f) });
string s4 = GUILayout.TextField(localEulerAngles.x.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
string s5 = GUILayout.TextField(localEulerAngles.y.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
string s6 = GUILayout.TextField(localEulerAngles.z.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Label("Scale", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(40f) });
string s7 = GUILayout.TextField(localScale.x.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
string s8 = GUILayout.TextField(localScale.y.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
string s9 = GUILayout.TextField(localScale.z.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) });
GUILayout.EndHorizontal();
Vector3 val = position;
Vector3 val2 = localEulerAngles;
Vector3 val3 = localScale;
if (float.TryParse(s, out val.x) && float.TryParse(s2, out val.y) && float.TryParse(s3, out val.z) && val != position)
{
flag2 = true;
}
if (float.TryParse(s4, out val2.x) && float.TryParse(s5, out val2.y) && float.TryParse(s6, out val2.z) && val2 != localEulerAngles)
{
flag2 = true;
}
if (float.TryParse(s7, out val3.x) && float.TryParse(s8, out val3.y) && float.TryParse(s9, out val3.z) && val3 != localScale)
{
flag2 = true;
}
if (flag2)
{
RecordStateForUndo(go);
go.transform.position = val;
go.transform.localEulerAngles = val2;
go.transform.localScale = val3;
}
Collider2D component = go.GetComponent<Collider2D>();
if ((Object)(object)component != (Object)null)
{
GUILayout.Space(10f);
GUILayout.BeginVertical(GUI.skin.box, Array.Empty<GUILayoutOption>());
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Label("<b>Interactive Collider Matrix: (" + ((object)component).GetType().Name + ")</b>", Array.Empty<GUILayoutOption>());
GUI.backgroundColor = (isEditingColliderBounds ? Color.green : Color.gray);
if (GUILayout.Button(isEditingColliderBounds ? "Stop Edit" : "Edit Collider Bounds", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(140f) }))
{
isEditingColliderBounds = !isEditingColliderBounds;
activeDraggingHandleIndex = -1;
}
GUI.backgroundColor = Color.white;
GUILayout.EndHorizontal();
Vector2 offset = component.offset;
GUILayout.Label("Offset Bounds (X / Y):", Array.Empty<GUILayoutOption>());
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
float.TryParse(GUILayout.TextField(offset.x.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }), out offset.x);
float.TryParse(GUILayout.TextField(offset.y.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }), out offset.y);
GUILayout.EndHorizontal();
if (offset != component.offset)
{
RecordStateForUndo(go);
component.offset = offset;
}
BoxCollider2D val4 = (BoxCollider2D)(object)((component is BoxCollider2D) ? component : null);
if (val4 != null)
{
Vector2 size = val4.size;
GUILayout.Label("Box Shape Size Vector (Width / Height):", Array.Empty<GUILayoutOption>());
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
float.TryParse(GUILayout.TextField(size.x.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }), out size.x);
float.TryParse(GUILayout.TextField(size.y.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }), out size.y);
GUILayout.EndHorizontal();
if (size != val4.size)
{
RecordStateForUndo(go);
val4.size = size;
}
}
else
{
CircleCollider2D val5 = (CircleCollider2D)(object)((component is CircleCollider2D) ? component : null);
if (val5 != null)
{
float result = val5.radius;
GUILayout.Label("Circle Radius Dimension:", Array.Empty<GUILayoutOption>());
float.TryParse(GUILayout.TextField(result.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }), out result);
if (!Mathf.Approximately(result, val5.radius))
{
RecordStateForUndo(go);
val5.radius = result;
}
}
else
{
CapsuleCollider2D val6 = (CapsuleCollider2D)(object)((component is CapsuleCollider2D) ? component : null);
if (val6 != null)
{
Vector2 size2 = val6.size;
GUILayout.Label("Capsule Scale Envelope Matrix:", Array.Empty<GUILayoutOption>());
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
float.TryParse(GUILayout.TextField(size2.x.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }), out size2.x);
float.TryParse(GUILayout.TextField(size2.y.ToString("F3"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }), out size2.y);
GUILayout.EndHorizontal();
if (size2 != val6.size)
{
RecordStateForUndo(go);
val6.size = size2;
}
}
else
{
PolygonCollider2D val7 = (PolygonCollider2D)(object)((component is PolygonCollider2D) ? component : null);
if (val7 != null)
{
GUILayout.Label($"Polygon Vertices Side Count: <b>{val7.points.Length} points</b>", Array.Empty<GUILayoutOption>());
GUILayout.Label("<color=yellow>Use 'Edit Collider Bounds' to shape corners smoothly in the scene.</color>", Array.Empty<GUILayoutOption>());
}
}
}
}
GUILayout.EndVertical();
}
Component[] components = go.GetComponents<Component>();
Component[] array = components;
foreach (Component comp in array)
{
if ((Object)(object)comp == (Object)null || comp is Transform)
{
continue;
}
GUILayout.Space(5f);
GUILayout.BeginVertical(GUI.skin.box, Array.Empty<GUILayoutOption>());
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Label("<b>Component: " + ((object)comp).GetType().Name + "</b>", Array.Empty<GUILayoutOption>());
GUI.backgroundColor = Color.red;
if (GUILayout.Button("✕ Destroy Module", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }))
{
RecordStateForUndo(go);
Object.DestroyImmediate((Object)(object)comp);
GUILayout.EndHorizontal();
GUILayout.EndVertical();
break;
}
GUI.backgroundColor = Color.white;
GUILayout.EndHorizontal();
PropertyInfo[] properties = ((object)comp).GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
PropertyInfo[] array2 = properties;
foreach (PropertyInfo p in array2)
{
if (!p.CanRead || !p.CanWrite || p.GetIndexParameters().Length != 0 || p.Name == "name" || p.Name == "tag" || p.Name == "material" || p.Name == "materials")
{
continue;
}
object obj = null;
try
{
obj = p.GetValue(comp, null);
}
catch
{
continue;
}
if (obj != null)
{
DrawReflectedField(p.Name, p.PropertyType, obj, delegate(object newVal)
{
RecordStateForUndo(go);
p.SetValue(comp, newVal, null);
});
}
}
GUILayout.EndVertical();
}
GUILayout.Space(15f);
GUILayout.BeginVertical(GUI.skin.box, Array.Empty<GUILayoutOption>());
GUILayout.Label("<b>\ud83d\udce6 Add Level Component Module</b>", Array.Empty<GUILayoutOption>());
string text = componentSearchString;
componentSearchString = GUILayout.TextField(componentSearchString, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) });
if (componentSearchString != text)
{
UpdateFilteredComponents(componentSearchString);
}
if (filteredComponentTypes.Count > 0)
{
componentSearchScroll = GUILayout.BeginScrollView(componentSearchScroll, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Height(110f),
GUILayout.ExpandWidth(true)
});
foreach (Type filteredComponentType in filteredComponentTypes)
{
if (GUILayout.Button(" Add " + filteredComponentType.Name + " (" + filteredComponentType.Namespace + ")", GUI.skin.button, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(22f) }))
{
RecordStateForUndo(go);
go.AddComponent(filteredComponentType);
componentSearchString = "";
filteredComponentTypes.Clear();
GUIUtility.keyboardControl = 0;
break;
}
}
GUILayout.EndScrollView();
}
else if (!string.IsNullOrEmpty(componentSearchString))
{
GUILayout.Label("<i>No matching classes found within application scope assembly bins...</i>", Array.Empty<GUILayoutOption>());
}
GUILayout.EndVertical();
}
private void DrawReflectedField(string name, Type type, object value, Action<object> onValueUpdated)
{
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Label(name, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(140f) });
if (type == typeof(float))
{
if (float.TryParse(GUILayout.TextField(value.ToString(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }), out var result))
{
onValueUpdated(result);
}
}
else if (type == typeof(bool))
{
bool flag = GUILayout.Toggle((bool)value, "", Array.Empty<GUILayoutOption>());
if (flag != (bool)value)
{
onValueUpdated(flag);
}
}
else if (type == typeof(string))
{
string text = GUILayout.TextField((string)value, Array.Empty<GUILayoutOption>());
if (text != (string)value)
{
onValueUpdated(text);
}
}
GUILayout.EndHorizontal();
}
private void CreateOutlineMaterial()
{
//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_002d: Expected O, but got Unknown
Shader val = Shader.Find("Hidden/Internal-Colored");
if ((Object)(object)val != (Object)null)
{
outlineMaterial = new Material(val)
{
hideFlags = (HideFlags)61
};
outlineMaterial.SetInt("_SrcBlend", 5);
outlineMaterial.SetInt("_DstBlend", 10);
outlineMaterial.SetInt("_Cull", 0);
outlineMaterial.SetInt("_ZWrite", 0);
}
}
private void GeneratePrimitiveSpriteAsset()
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Expected O, but got Unknown
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: 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)
Texture2D val = new Texture2D(2, 2);
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
val.SetPixel(j, i, Color.white);
}
}
val.Apply();
whitePrimitivePixel = Sprite.Create(val, new Rect(0f, 0f, 2f, 2f), new Vector2(0.5f, 0.5f), 1f);
}
private void DrawSpriteWireframe(SpriteRenderer sr)
{
//IL_0024: 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_0037: 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_0049: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: 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)
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
//IL_0080: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: 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)
//IL_00b4: 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_00cb: Unknown result type (might be due to invalid IL or missing references)
//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
if (!((Object)(object)outlineMaterial == (Object)null))
{
outlineMaterial.SetPass(0);
Bounds bounds = ((Renderer)sr).bounds;
GL.PushMatrix();
GL.Begin(1);
GL.Color(Color.cyan);
Vector3 min = ((Bounds)(ref bounds)).min;
Vector3 max = ((Bounds)(ref bounds)).max;
GL.Vertex3(min.x, min.y, 0f);
GL.Vertex3(max.x, min.y, 0f);
GL.Vertex3(max.x, min.y, 0f);
GL.Vertex3(max.x, max.y, 0f);
GL.Vertex3(max.x, max.y, 0f);
GL.Vertex3(min.x, max.y, 0f);
GL.Vertex3(min.x, max.y, 0f);
GL.Vertex3(min.x, min.y, 0f);
GL.End();
GL.PopMatrix();
}
}
private void DrawUnityColliderOnScreenGuiOverlay(GameObject go)
{
//IL_020a: Unknown result type (might be due to invalid IL or missing references)
//IL_020f: Unknown result type (might be due to invalid IL or missing references)
//IL_0211: Unknown result type (might be due to invalid IL or missing references)
//IL_0216: Unknown result type (might be due to invalid IL or missing references)
//IL_022d: Unknown result type (might be due to invalid IL or missing references)
//IL_0232: Unknown result type (might be due to invalid IL or missing references)
//IL_024b: Unknown result type (might be due to invalid IL or missing references)
//IL_0250: Unknown result type (might be due to invalid IL or missing references)
//IL_0290: Unknown result type (might be due to invalid IL or missing references)
//IL_0297: Unknown result type (might be due to invalid IL or missing references)
//IL_02a5: Unknown result type (might be due to invalid IL or missing references)
//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
//IL_02c4: Unknown result type (might be due to invalid IL or missing references)
//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
//IL_02d2: Unknown result type (might be due to invalid IL or missing references)
//IL_02e0: Unknown result type (might be due to invalid IL or missing references)
//IL_02e7: Unknown result type (might be due to invalid IL or missing references)
//IL_02fa: Unknown result type (might be due to invalid IL or missing references)
//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0306: Unknown result type (might be due to invalid IL or missing references)
//IL_030d: Unknown result type (might be due to invalid IL or missing references)
//IL_031b: Unknown result type (might be due to invalid IL or missing references)
//IL_0322: Unknown result type (might be due to invalid IL or missing references)
//IL_0335: Unknown result type (might be due to invalid IL or missing references)
//IL_033a: Unknown result type (might be due to invalid IL or missing references)
//IL_0341: Unknown result type (might be due to invalid IL or missing references)
//IL_0348: Unknown result type (might be due to invalid IL or missing references)
//IL_0356: Unknown result type (might be due to invalid IL or missing references)
//IL_035d: Unknown result type (might be due to invalid IL or missing references)
//IL_0370: Unknown result type (might be due to invalid IL or missing references)
//IL_0375: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: 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_00af: Unknown result type (might be due to invalid IL or missing references)
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
//IL_0118: Unknown result type (might be due to invalid IL or missing references)
//IL_0133: Unknown result type (might be due to invalid IL or missing references)
//IL_0135: Unknown result type (might be due to invalid IL or missing references)
//IL_013a: 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_0579: Unknown result type (might be due to invalid IL or missing references)
//IL_0394: Unknown result type (might be due to invalid IL or missing references)
//IL_0399: Unknown result type (might be due to invalid IL or missing references)
//IL_039e: Unknown result type (might be due to invalid IL or missing references)
//IL_03a5: Unknown result type (might be due to invalid IL or missing references)
//IL_03a7: Unknown result type (might be due to invalid IL or missing references)
//IL_03ac: Unknown result type (might be due to invalid IL or missing references)
//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
//IL_03c7: Unknown result type (might be due to invalid IL or missing references)
//IL_03cc: Unknown result type (might be due to invalid IL or missing references)
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
//IL_01b9: Unknown result type (might be due to invalid IL or missing references)
//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
//IL_01dd: Unknown result type (might be due to invalid IL or missing references)
//IL_0163: 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_0178: Unknown result type (might be due to invalid IL or missing references)
//IL_017d: Unknown result type (might be due to invalid IL or missing references)
//IL_018a: Unknown result type (might be due to invalid IL or missing references)
//IL_0192: Unknown result type (might be due to invalid IL or missing references)
//IL_0197: Unknown result type (might be due to invalid IL or missing references)
//IL_03ee: Unknown result type (might be due to invalid IL or missing references)
//IL_03fb: Unknown result type (might be due to invalid IL or missing references)
//IL_0400: Unknown result type (might be due to invalid IL or missing references)
//IL_0426: Unknown result type (might be due to invalid IL or missing references)
//IL_042d: Unknown result type (might be due to invalid IL or missing references)
//IL_0434: Unknown result type (might be due to invalid IL or missing references)
//IL_0447: Unknown result type (might be due to invalid IL or missing references)
//IL_044c: Unknown result type (might be due to invalid IL or missing references)
//IL_0453: Unknown result type (might be due to invalid IL or missing references)
//IL_045a: Unknown result type (might be due to invalid IL or missing references)
//IL_0468: Unknown result type (might be due to invalid IL or missing references)
//IL_0474: Unknown result type (might be due to invalid IL or missing references)
//IL_0479: Unknown result type (might be due to invalid IL or missing references)
//IL_0480: Unknown result type (might be due to invalid IL or missing references)
//IL_0487: Unknown result type (might be due to invalid IL or missing references)
//IL_048e: Unknown result type (might be due to invalid IL or missing references)
//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
//IL_04a6: Unknown result type (might be due to invalid IL or missing references)
//IL_04ad: Unknown result type (might be due to invalid IL or missing references)
//IL_04b4: Unknown result type (might be due to invalid IL or missing references)
//IL_04c2: Unknown result type (might be due to invalid IL or missing references)
//IL_04ce: Unknown result type (might be due to invalid IL or missing references)
//IL_04d3: Unknown result type (might be due to invalid IL or missing references)
//IL_04ed: Unknown result type (might be due to invalid IL or missing references)
//IL_04f2: Unknown result type (might be due to invalid IL or missing references)
//IL_04f7: Unknown result type (might be due to invalid IL or missing references)
//IL_04fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0500: Unknown result type (might be due to invalid IL or missing references)
//IL_0505: Unknown result type (might be due to invalid IL or missing references)
//IL_0507: Unknown result type (might be due to invalid IL or missing references)
//IL_051f: Unknown result type (might be due to invalid IL or missing references)
//IL_0532: Unknown result type (might be due to invalid IL or missing references)
//IL_054f: Unknown result type (might be due to invalid IL or missing references)
//IL_0556: Unknown result type (might be due to invalid IL or missing references)
Collider2D component = go.GetComponent<Collider2D>();
if ((Object)(object)component == (Object)null || (Object)(object)Camera.main == (Object)null)
{
return;
}
Color val = default(Color);
((Color)(ref val))..ctor(0f, 1f, 0f, 0.95f);
PolygonCollider2D val2 = (PolygonCollider2D)(object)((component is PolygonCollider2D) ? component : null);
if (val2 != null)
{
Vector2[] points = val2.points;
Vector3 val3 = default(Vector3);
Vector3 val6 = default(Vector3);
Rect val9 = default(Rect);
for (int i = 0; i < points.Length; i++)
{
((Vector3)(ref val3))..ctor(points[i].x + ((Collider2D)val2).offset.x, points[i].y + ((Collider2D)val2).offset.y, 0f);
Vector3 val4 = go.transform.TransformPoint(val3);
Vector3 val5 = Camera.main.WorldToScreenPoint(val4);
if (!(val5.z < 0f))
{
((Vector3)(ref val6))..ctor(points[(i + 1) % points.Length].x + ((Collider2D)val2).offset.x, points[(i + 1) % points.Length].y + ((Collider2D)val2).offset.y, 0f);
Vector3 val7 = go.transform.TransformPoint(val6);
Vector3 val8 = Camera.main.WorldToScreenPoint(val7);
if (val8.z >= 0f)
{
DrawOnScreenGuiLine(new Vector2(val5.x, (float)Screen.height - val5.y), new Vector2(val8.x, (float)Screen.height - val8.y), val, 2f);
}
((Rect)(ref val9))..ctor(val5.x - 4f, (float)Screen.height - val5.y - 4f, 8f, 8f);
GUI.backgroundColor = val;
GUI.Box(val9, "");
}
}
}
else
{
Vector2 offset = component.offset;
Vector2 val10 = Vector2.one;
BoxCollider2D val11 = (BoxCollider2D)(object)((component is BoxCollider2D) ? component : null);
if (val11 != null)
{
val10 = val11.size;
}
else
{
CapsuleCollider2D val12 = (CapsuleCollider2D)(object)((component is CapsuleCollider2D) ? component : null);
if (val12 != null)
{
val10 = val12.size;
}
else
{
CircleCollider2D val13 = (CircleCollider2D)(object)((component is CircleCollider2D) ? component : null);
if (val13 != null)
{
((Vector2)(ref val10))..ctor(val13.radius * 2f, val13.radius * 2f);
}
}
}
Vector3[] array = (Vector3[])(object)new Vector3[4]
{
new Vector3(offset.x - val10.x / 2f, offset.y - val10.y / 2f, 0f),
new Vector3(offset.x + val10.x / 2f, offset.y - val10.y / 2f, 0f),
new Vector3(offset.x + val10.x / 2f, offset.y + val10.y / 2f, 0f),
new Vector3(offset.x - val10.x / 2f, offset.y + val10.y / 2f, 0f)
};
Vector2[] array2 = (Vector2[])(object)new Vector2[4];
for (int j = 0; j < 4; j++)
{
Vector3 val14 = go.transform.TransformPoint(array[j]);
Vector3 val15 = Camera.main.WorldToScreenPoint(val14);
array2[j] = new Vector2(val15.x, (float)Screen.height - val15.y);
}
for (int k = 0; k < 4; k++)
{
DrawOnScreenGuiLine(array2[k], array2[(k + 1) % 4], val, 2f);
}
Vector3[] array3 = (Vector3[])(object)new Vector3[4]
{
new Vector3(offset.x, offset.y + val10.y / 2f, 0f),
new Vector3(offset.x + val10.x / 2f, offset.y, 0f),
new Vector3(offset.x, offset.y - val10.y / 2f, 0f),
new Vector3(offset.x - val10.x / 2f, offset.y, 0f)
};
Rect val18 = default(Rect);
for (int l = 0; l < 4; l++)
{
Vector3 val16 = go.transform.TransformPoint(array3[l]);
Vector3 val17 = Camera.main.WorldToScreenPoint(val16);
if (!(val17.z < 0f))
{
((Rect)(ref val18))..ctor(val17.x - 4f, (float)Screen.height - val17.y - 4f, 8f, 8f);
GUI.backgroundColor = val;
GUI.Box(val18, "");
}
}
}
GUI.backgroundColor = Color.white;
}
private void DrawOnScreenGuiLine(Vector2 p1, Vector2 p2, Color color, float width)
{
//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_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_000f: 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)
//IL_0028: 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_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: 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_0060: Unknown result type (might be due to invalid IL or missing references)
Texture2D whiteTexture = Texture2D.whiteTexture;
Vector2 val = p2 - p1;
float num = Mathf.Atan2(val.y, val.x) * 57.29578f;
GUIUtility.RotateAroundPivot(num, p1);
GUI.color = color;
GUI.DrawTexture(new Rect(p1.x, p1.y, ((Vector2)(ref val)).magnitude, width), (Texture)(object)whiteTexture);
GUIUtility.RotateAroundPivot(0f - num, p1);
GUI.color = Color.white;
}
private void ProcessColliderHandleDragLogic()
{
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0049: Unknown result type (might be due to invalid IL or missing references)
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: 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_0079: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: 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)
//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_01c4: Unknown result type (might be due to invalid IL or missing references)
//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
//IL_01cb: Unknown result type (might be due to invalid IL or missing references)
//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
//IL_03b3: Unknown result type (might be due to invalid IL or missing references)
//IL_03b8: Unknown result type (might be due to invalid IL or missing references)
//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
//IL_03ca: Unknown result type (might be due to invalid IL or missing references)
//IL_03cc: Unknown result type (might be due to invalid IL or missing references)
//IL_03d1: Unknown result type (might be due to invalid IL or missing references)
//IL_01e7: Unknown result type (might be due to invalid IL or missing references)
//IL_01ec: Unknown result type (might be due to invalid IL or missing references)
//IL_0441: Unknown result type (might be due to invalid IL or missing references)
//IL_0446: Unknown result type (might be due to invalid IL or missing references)
//IL_0449: Unknown result type (might be due to invalid IL or missing references)
//IL_044e: Unknown result type (might be due to invalid IL or missing references)
//IL_0205: Unknown result type (might be due to invalid IL or missing references)
//IL_020a: Unknown result type (might be due to invalid IL or missing references)
//IL_024a: Unknown result type (might be due to invalid IL or missing references)
//IL_0251: Unknown result type (might be due to invalid IL or missing references)
//IL_0258: Unknown result type (might be due to invalid IL or missing references)
//IL_026b: Unknown result type (might be due to invalid IL or missing references)
//IL_0270: Unknown result type (might be due to invalid IL or missing references)
//IL_0277: Unknown result type (might be due to invalid IL or missing references)
//IL_027e: Unknown result type (might be due to invalid IL or missing references)
//IL_028c: Unknown result type (might be due to invalid IL or missing references)
//IL_0298: Unknown result type (might be due to invalid IL or missing references)
//IL_029d: Unknown result type (might be due to invalid IL or missing references)
//IL_02a4: Unknown result type (might be due to invalid IL or missing references)
//IL_02ab: Unknown result type (might be due to invalid IL or missing references)
//IL_02b2: Unknown result type (might be due to invalid IL or missing references)
//IL_02c5: Unknown result type (might be due to invalid IL or missing references)
//IL_02ca: Unknown result type (might be due to invalid IL or missing references)
//IL_02d1: Unknown result type (might be due to invalid IL or missing references)
//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
//IL_02f2: Unknown result type (might be due to invalid IL or missing references)
//IL_02f7: Unknown result type (might be due to invalid IL or missing references)
//IL_0110: Unknown result type (might be due to invalid IL or missing references)
//IL_012b: Unknown result type (might be due to invalid IL or missing references)
//IL_014b: Unknown result type (might be due to invalid IL or missing references)
//IL_014d: Unknown result type (might be due to invalid IL or missing references)
//IL_0152: Unknown result type (might be due to invalid IL or missing references)
//IL_0154: Unknown result type (might be due to invalid IL or missing references)
//IL_0155: Unknown result type (might be due to invalid IL or missing references)
//IL_015a: Unknown result type (might be due to invalid IL or missing references)
//IL_015c: Unknown result type (might be due to invalid IL or missing references)
//IL_048a: Unknown result type (might be due to invalid IL or missing references)
//IL_04a9: Unknown result type (might be due to invalid IL or missing references)
//IL_04df: Unknown result type (might be due to invalid IL or missing references)
//IL_04fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0534: Unknown result type (might be due to invalid IL or missing references)
//IL_0553: Unknown result type (might be due to invalid IL or missing references)
//IL_0586: Unknown result type (might be due to invalid IL or missing references)
//IL_05a5: Unknown result type (might be due to invalid IL or missing references)
//IL_040c: Unknown result type (might be due to invalid IL or missing references)
//IL_0411: Unknown result type (might be due to invalid IL or missing references)
//IL_0418: Unknown result type (might be due to invalid IL or missing references)
//IL_041f: Unknown result type (might be due to invalid IL or missing references)
//IL_0424: Unknown result type (might be due to invalid IL or missing references)
//IL_0429: Unknown result type (might be due to invalid IL or missing references)
//IL_018e: Unknown result type (might be due to invalid IL or missing references)
//IL_0193: Unknown result type (might be due to invalid IL or missing references)
//IL_0199: Unknown result type (might be due to invalid IL or missing references)
//IL_019a: Unknown result type (might be due to invalid IL or missing references)
//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
//IL_0313: Unknown result type (might be due to invalid IL or missing references)
//IL_0318: Unknown result type (might be due to invalid IL or missing references)
//IL_031d: Unknown result type (might be due to invalid IL or missing references)
//IL_031f: Unknown result type (might be due to invalid IL or missing references)
//IL_0320: Unknown result type (might be due to invalid IL or missing references)
//IL_0325: Unknown result type (might be due to invalid IL or missing references)
//IL_0327: Unknown result type (might be due to invalid IL or missing references)
//IL_05e4: Unknown result type (might be due to invalid IL or missing references)
//IL_0356: Unknown result type (might be due to invalid IL or missing references)
//IL_035b: Unknown result type (might be due to invalid IL or missing references)
//IL_0361: Unknown result type (might be due to invalid IL or missing references)
//IL_0363: Unknown result type (might be due to invalid IL or missing references)
//IL_0369: Unknown result type (might be due to invalid IL or missing references)
//IL_036a: Unknown result type (might be due to invalid IL or missing references)
//IL_0603: Unknown result type (might be due to invalid IL or missing references)
//IL_0627: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)selectedObject == (Object)null || (Object)(object)Camera.main == (Object)null)
{
return;
}
Collider2D component = selectedObject.GetComponent<Collider2D>();
if ((Object)(object)component == (Object)null)
{
return;
}
Vector3 mousePosition = Input.mousePosition;
Vector3 val = Camera.main.ScreenToWorldPoint(new Vector3(mousePosition.x, mousePosition.y, Mathf.Abs(((Component)Camera.main).transform.position.z)));
if (Input.GetMouseButtonDown(0))
{
if (((Rect)(ref windowRect)).Contains(new Vector2(mousePosition.x, (float)Screen.height - mousePosition.y)))
{
return;
}
float num = 0.4f * (Camera.main.orthographicSize / 5f);
PolygonCollider2D val2 = (PolygonCollider2D)(object)((component is PolygonCollider2D) ? component : null);
if (val2 != null)
{
Vector2[] points = val2.points;
Vector3 val3 = default(Vector3);
for (int i = 0; i < points.Length; i++)
{
((Vector3)(ref val3))..ctor(points[i].x + ((Collider2D)val2).offset.x, points[i].y + ((Collider2D)val2).offset.y, 0f);
Vector3 val4 = selectedObject.transform.TransformPoint(val3);
if (Vector2.Distance(Vector2.op_Implicit(val), Vector2.op_Implicit(val4)) <= num)
{
RecordStateForUndo(selectedObject);
activeDraggingHandleIndex = i;
polyDragStartVertexValue = points[i];
mouseDragWorldStartPos = val;
break;
}
}
return;
}
Vector2 offset = component.offset;
Vector2 val5 = Vector2.one;
BoxCollider2D val6 = (BoxCollider2D)(object)((component is BoxCollider2D) ? component : null);
if (val6 != null)
{
val5 = val6.size;
}
else
{
CapsuleCollider2D val7 = (CapsuleCollider2D)(object)((component is CapsuleCollider2D) ? component : null);
if (val7 != null)
{
val5 = val7.size;
}
else
{
CircleCollider2D val8 = (CircleCollider2D)(object)((component is CircleCollider2D) ? component : null);
if (val8 != null)
{
((Vector2)(ref val5))..ctor(val8.radius * 2f, val8.radius * 2f);
}
}
}
Vector3[] array = (Vector3[])(object)new Vector3[4]
{
new Vector3(offset.x, offset.y + val5.y / 2f, 0f),
new Vector3(offset.x + val5.x / 2f, offset.y, 0f),
new Vector3(offset.x, offset.y - val5.y / 2f, 0f),
new Vector3(offset.x - val5.x / 2f, offset.y, 0f)
};
for (int j = 0; j < 4; j++)
{
Vector3 val9 = selectedObject.transform.TransformPoint(array[j]);
if (Vector2.Distance(Vector2.op_Implicit(val), Vector2.op_Implicit(val9)) <= num)
{
RecordStateForUndo(selectedObject);
activeDraggingHandleIndex = j;
colliderDragStartOffset = component.offset;
colliderDragStartSize = val5;
mouseDragWorldStartPos = val;
break;
}
}
}
else if (Input.GetMouseButton(0) && activeDraggingHandleIndex != -1)
{
Vector3 val10 = val - mouseDragWorldStartPos;
Vector3 val11 = selectedObject.transform.InverseTransformDirection(val10);
PolygonCollider2D val12 = (PolygonCollider2D)(object)((component is PolygonCollider2D) ? component : null);
if (val12 != null)
{
Vector2[] points2 = val12.points;
if (activeDraggingHandleIndex < points2.Length)
{
points2[activeDraggingHandleIndex] = polyDragStartVertexValue + new Vector2(val11.x, val11.y);
val12.points = points2;
}
return;
}
Vector2 offset2 = colliderDragStartOffset;
Vector2 val13 = colliderDragStartSize;
switch (activeDraggingHandleIndex)
{
case 0:
val13.y = Mathf.Max(0.05f, colliderDragStartSize.y + val11.y);
offset2.y = colliderDragStartOffset.y + (val13.y - colliderDragStartSize.y) / 2f;
break;
case 1:
val13.x = Mathf.Max(0.05f, colliderDragStartSize.x + val11.x);
offset2.x = colliderDragStartOffset.x + (val13.x - colliderDragStartSize.x) / 2f;
break;
case 2:
val13.y = Mathf.Max(0.05f, colliderDragStartSize.y - val11.y);
offset2.y = colliderDragStartOffset.y - (val13.y - colliderDragStartSize.y) / 2f;
break;
case 3:
val13.x = Mathf.Max(0.05f, colliderDragStartSize.x - val11.x);
offset2.x = colliderDragStartOffset.x + (val13.x - colliderDragStartSize.x) / 2f;
break;
}
component.offset = offset2;
BoxCollider2D val14 = (BoxCollider2D)(object)((component is BoxCollider2D) ? component : null);
if (val14 != null)
{
val14.size = val13;
return;
}
CapsuleCollider2D val15 = (CapsuleCollider2D)(object)((component is CapsuleCollider2D) ? component : null);
if (val15 != null)
{
val15.size = val13;
return;
}
CircleCollider2D val16 = (CircleCollider2D)(object)((component is CircleCollider2D) ? component : null);
if (val16 != null)
{
val16.radius = Mathf.Max(0.02f, val13.x / 2f);
}
}
else if (Input.GetMouseButtonUp(0))
{
activeDraggingHandleIndex = -1;
}
}
private void RefreshAllAssetCaches()
{
//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)
spawnablePrefabs.Clear();
GameObject[] array = Resources.FindObjectsOfTypeAll<GameObject>();
foreach (GameObject val in array)
{
Scene scene = val.scene;
if (!((Scene)(ref scene)).IsValid() && !spawnablePrefabs.Contains(val))
{
spawnablePrefabs.Add(val);
}
}
loadedMaterials.Clear();
Material[] array2 = Resources.FindObjectsOfTypeAll<Material>();
foreach (Material val2 in array2)
{
if (!string.IsNullOrEmpty(((Object)val2).name) && !loadedMaterials.Contains(val2))
{
loadedMaterials.Add(val2);
}
}
loadedMeshes.Clear();
Mesh[] array3 = Resources.FindObjectsOfTypeAll<Mesh>();
foreach (Mesh item in array3)
{
if (!loadedMeshes.Contains(item))
{
loadedMeshes.Add(item);
}
}
}
}