private void OnSceneGUI() { if (isAddDoorMode) { foreach (GameObject gameObject in Selection.gameObjects) { Porte porteSelected = null; if (gameObject.TryGetComponent(out porteSelected)) { levier.porte = porteSelected; porteSelected.levier = levier; ScriptableLevier scriptLevier = (ScriptableLevier)levier.scriptObstacle; ScriptablePorte scriptPorte = (ScriptablePorte)porteSelected.scriptObstacle; scriptLevier.scriptPorteToOpen = scriptPorte; scriptPorte.scriptLevier = scriptLevier; levier.LoadScriptobstacle(); porteSelected.LoadScriptobstacle(); AssetDatabase.Refresh(); EditorUtility.SetDirty(scriptPorte); EditorUtility.SetDirty(scriptLevier); AssetDatabase.SaveAssets(); isAddDoorMode = false; break; } } Selection.objects = new Object[1] { levier.gameObject }; } }