private void DrawButtons(Rect rect, Type type) { var closeButtonRect = rect; closeButtonRect.x = closeButtonRect.width - 17; closeButtonRect.y += 4; closeButtonRect.size = new Vector2(18, 18); if (GUI.Button(closeButtonRect, new GUIContent("X", "Close System"), EditorStyles.miniButton)) { window.SetSelected(null); } var profilerButtonRect = rect; profilerButtonRect.x = profilerButtonRect.width - 36; profilerButtonRect.y += 4; profilerButtonRect.size = new Vector2(18, 18); if (GUI.Button(profilerButtonRect, new GUIContent("P", "Open Profiler"), EditorStyles.miniButton)) { awaitingProfiler = true; } var editButton = rect; editButton.x = editButton.width - 55; editButton.y += 4; editButton.size = new Vector2(18, 18); if (GUI.Button(editButton, new GUIContent("E", "Edit File"), EditorStyles.miniButton)) { var search = AssetDatabase.FindAssets("t:script " + type.Name); if (search.Length > 0) { var obj = AssetDatabase.LoadAssetAtPath <UnityEngine.Object> (AssetDatabase.GUIDToAssetPath(search[0])); if (obj != null) { AssetDatabase.OpenAsset(obj, -1); } else { Debug.LogWarning("Can't load asset"); } } } if (window.selectedWorld != null) { var ecsDebuggerButtonRect = rect; ecsDebuggerButtonRect.x = ecsDebuggerButtonRect.width - 74; ecsDebuggerButtonRect.y += 4; ecsDebuggerButtonRect.size = new Vector2(18, 18); if (GUI.Button(ecsDebuggerButtonRect, new GUIContent("D", "Open Entity Debugger"), EditorStyles.miniButton)) { var entityDebugger = EditorWindow.GetWindow <EntityDebugger> (false, "Entity Debugger", true); entityDebugger.Show(); entityDebugger.SetSystemSelection(window.selectedWorld.GetExistingManager(type.GetType()), window.selectedWorld, true, true); } } }
protected override void SelectionChanged(IList <int> selectedIds) { if (selectedIds?.Count > 0) { if (typeIds.ContainsKey(selectedIds[0])) { var type = typeIds[selectedIds[0]]; window.SetSelected(type); prevSelected = selectedIds; PlayerPrefs.SetString("selectedsystem", type.AssemblyQualifiedName); } else if (prevSelected != null) { PlayerPrefs.SetString("selectedsystem", ""); this.SetSelection(prevSelected); } else { PlayerPrefs.SetString("selectedsystem", ""); this.SetSelection(new int[0]); } } }