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; } }