void OnEnable() { if (!singleton) { singleton = this; } }
static HittSceneInteractive() { EditorApplication.delayCall += delegate() { singleton = Resources.FindObjectsOfTypeAll <HittSceneInteractive>().FirstOrDefault(); if (!singleton) { // this will create once per editor lifetime singleton = CreateInstance <HittSceneInteractive>(); singleton.hideFlags = HideFlags.DontSave; } SceneView.onSceneGUIDelegate += singleton.OnSceneGUI; Selection.selectionChanged += singleton.SelectionChanged; Hitt.updateFeed += singleton.SelectionChanged; }; }