Called whenever the selection has changed.
Saves the current selection and load it later with a simple click.
#pragma strict // Simple example that lets you save the current selection and load it. private var selectionIDs: int[]; @MenuItem("Example/Selection Saver") private static function Init() { var window: ExampleClass = ExampleClassGetWindow(ExampleClass); window.Show(); } function OnGUI() { if (GUILayout.Button("Save")) SaveSelection(); if (GUILayout.Button("Load")) LoadLastSavedSelection(); } function OnSelectionChange() { selectionIDs = Selection.instanceIDs; } private function SaveSelection() { var saveStr: var = ""; for (var i: int in selectionIDs) { saveStr += i.ToString() + ";"; } saveStr = saveStr.TrimEnd(char.Parse(";")); EditorPrefs.SetString("SelectedIDs", saveStr); } private function LoadLastSavedSelection() { var strIDs: String[] = EditorPrefs.GetString("SelectedIDs").Split(char.Parse(";")); var ids: int[] = new int[strIDs.Length]; for (var i: var = 0; i < strIDs.Length; i++) ids[i] = int.Parse(strIDs[i]); Selection.instanceIDs = ids; }
// Simple example that lets you save the current selection and load it.
using UnityEngine; using UnityEditor; using System.Collections;
public class ExampleClass : EditorWindow { private int[] selectionIDs;
[MenuItem("Example/Selection Saver")] private static void Init() { ExampleClass window = (ExampleClass)GetWindow(typeof(ExampleClass)); window.Show(); }
void OnGUI() { if (GUILayout.Button("Save")) SaveSelection();
if (GUILayout.Button("Load")) LoadLastSavedSelection(); }
void OnSelectionChange() { selectionIDs = Selection.instanceIDs; }
private void SaveSelection() { var saveStr = "";
foreach (int i in selectionIDs) { saveStr += i.ToString() + ";"; }
saveStr = saveStr.TrimEnd(char.Parse(";")); EditorPrefs.SetString("SelectedIDs", saveStr); }
private void LoadLastSavedSelection() { string[] strIDs = EditorPrefs.GetString("SelectedIDs").Split(char.Parse(";"));
int[] ids = new int[strIDs.Length]; for (var i = 0; i < strIDs.Length; i++) ids[i] = int.Parse(strIDs[i]); Selection.instanceIDs = ids; } }