private void AgentEditing()
        {
            EditorExtensionSettings.StandardMargin();
            speciesSelector = SelectionPosition(speciesOptions, SpeciesName.stringValue);
            if (CustomGUI.ChangeCheckingPopup(ref speciesSelector, speciesOptions, ""))
            {
                if (speciesSelector > 0)
                {
                    SpeciesName.stringValue = speciesOptions[speciesSelector];
                }
                else
                {
                    SpeciesName.stringValue = "";
                }
            }

            selectedPlan.enumValueIndex = (int)(NEEDSIMNode.ExamplePlans)EditorGUILayout.EnumPopup((NEEDSIMNode.ExamplePlans)selectedPlan.enumValueIndex, EditorExtensionSettings.MediumEditorFieldWidth);

            EditorExtensionSettings.StandardMargin();
            ShowDebugInGame.boolValue = EditorGUILayout.ToggleLeft(Simulation.Strings.DebugIngameLabel, ShowDebugInGame.boolValue, EditorExtensionSettings.MediumEditorFieldWidth);
            EditorExtensionSettings.StandardMargin();
            //ShowDebugInSpector.boolValue = EditorGUILayout.ToggleLeft(Simulation.Strings.DebugInSpectorLabel, ShowDebugInSpector.boolValue, EditorExtensionSettings.MediumEditorFieldWidth);
            //CustomGUI.StandardMargin();
            SpecificSatisfactionLevelsAtStart.boolValue = EditorGUILayout.ToggleLeft(Simulation.Strings.RandomStartLevelsLabel, SpecificSatisfactionLevelsAtStart.boolValue, EditorExtensionSettings.MediumEditorFieldWidth);

            if (SpecificSatisfactionLevelsAtStart.boolValue)
            {
                StartNeedSatisfactionEditing();
            }

            EditorExtensionSettings.StandardMargin();
        }
        private void InteractionEditing(int loop)
        {
            int indexer = 0;

            for (int i = 1; i < interactionOptions.Length; i++)
            {
                if (serializedObject.FindProperty(string.Format(InteractionDataAccess, loop)).stringValue == interactionOptions[i])
                {
                    indexer = i;
                    break;
                }
            }

            if (CustomGUI.ChangeCheckingPopup(ref indexer, interactionOptions, Simulation.Strings.InteractionLabelToExtend(loop + 1)))
            {
                serializedObject.FindProperty(string.Format(InteractionDataAccess, loop)).stringValue = interactionOptions[indexer];
            }

            EditorGUILayout.BeginHorizontal();
            {
                EditorExtensionSettings.LargeMargin();
                EditorExtensionSettings.LargeMargin();
                EditorExtensionSettings.LargeMargin();
                EditorExtensionSettings.LargeMargin();
                EditorExtensionSettings.LargeMargin();
                EditorExtensionSettings.LargeMargin();
                EditorExtensionSettings.MediumMargin();

                if (GUILayout.Button("Edit interactions"))
                {
                    NEEDSIMEditor.CustomMainWindow.MainWindowInit(CustomMainWindow.Screens.Interactions);
                }
            }
            EditorGUILayout.EndHorizontal();
        }
        private void InteractionEditing(int loop)
        {
            int indexer = 0;

            for (int i = 1; i < interactionOptions.Length; i++)
            {
                if (serializedObject.FindProperty(string.Format(InteractionDataAccess, loop)).stringValue == interactionOptions[i])
                {
                    indexer = i;
                    break;
                }
            }

            if (CustomGUI.ChangeCheckingPopup(ref indexer, interactionOptions, Simulation.Strings.InteractionLabelToExtend(loop + 1)))
            {
                serializedObject.FindProperty(string.Format(InteractionDataAccess, loop)).stringValue = interactionOptions[indexer];
            }
        }
        private void AgentEditing()

        {
            EditorExtensionSettings.StandardMargin();
            EditorGUILayout.BeginHorizontal();
            {
                speciesSelector = SelectionPosition(speciesOptions, SpeciesName.stringValue);
                if (CustomGUI.ChangeCheckingPopup(ref speciesSelector, speciesOptions, "Species: "))
                {
                    if (speciesSelector > 0)
                    {
                        SpeciesName.stringValue = speciesOptions[speciesSelector];
                    }
                    else
                    {
                        SpeciesName.stringValue = "";
                    }
                }

                if (GUILayout.Button("Edit species"))
                {
                    NEEDSIMEditor.CustomMainWindow.MainWindowInit(CustomMainWindow.Screens.Species);
                }
            }
            EditorGUILayout.EndHorizontal();

            EditorExtensionSettings.StandardMargin();

            selectedPlan.enumValueIndex = (int)(NEEDSIMNode.ExamplePlans)EditorGUILayout.EnumPopup("Behavior: ", (NEEDSIMNode.ExamplePlans)selectedPlan.enumValueIndex);

            EditorExtensionSettings.StandardMargin();
            ShowDebugInGame.boolValue = EditorGUILayout.ToggleLeft(Simulation.Strings.DebugIngameLabel, ShowDebugInGame.boolValue, EditorExtensionSettings.MediumEditorFieldWidth);
            EditorExtensionSettings.StandardMargin();
            //ShowDebugInSpector.boolValue = EditorGUILayout.ToggleLeft(Simulation.Strings.DebugInSpectorLabel, ShowDebugInSpector.boolValue, EditorExtensionSettings.MediumEditorFieldWidth);
            //CustomGUI.StandardMargin();
            SpecificSatisfactionLevelsAtStart.boolValue = EditorGUILayout.ToggleLeft(Simulation.Strings.RandomStartLevelsLabel, SpecificSatisfactionLevelsAtStart.boolValue, EditorExtensionSettings.MediumEditorFieldWidth);

            if (SpecificSatisfactionLevelsAtStart.boolValue)
            {
                StartNeedSatisfactionEditing();
            }

            EditorExtensionSettings.StandardMargin();
        }