protected void reset(bool fault = false) { configurator = target as AbstractConfigurator; tracker = new GameObjectsTracker(); tracker.GO = configurator.gameObject; chosenName = ""; if (fault) { objectMode = false; showingConfigurations = true; configuringConfiguration = false; chosingNewConfigurationName = false; } else { if (!(configuringConfiguration || chosingNewConfigurationName)) { showingConfigurations = true; } if (!(configuration is null)) { tracker.updateDataStructures(null, configuration); } if (objectMode && objectToConfigure is null) { objectMode = false; } } }
override public void OnInspectorGUI() { //MyDebugger.MyDebug("manager "+manager); try { GUILayout.Label(typeOfConfigurator + " Configurator", EditorStyles.boldLabel); chosenGO = configurator.gameObject.name; if (showingConfigurations) { showConfigurations(); if (configuringConfiguration) { tracker.updateDataStructures(null, configuration); } } if (chosingNewConfigurationName) { choseNewConfigurationName(); if (configuringConfiguration && !(configuration is null)) { tracker.updateDataStructures(null, configuration); } } if (configuringConfiguration) { configure(); } }catch (Exception e) { MyDebugger.MyDebug(e.Message); MyDebugger.MyDebug(e.StackTrace); reset(true); } }