private void CreateOptionsBasedOnDatabase()
        {
            DatabaseAsset  data;
            NEEDSIMManager config = (NEEDSIMManager)FindObjectOfType <NEEDSIMManager>();

            SetSimulationData(config);

            if (config == null)
            {
                data = DataManager.DefaultDatabase;
                Debug.LogWarning("No NEEDSIM configuration in scene. Default database will be used, unless you add a NEEDSIM Manager prefab");
            }
            else
            {
                data = Resources.Load(config.databaseName) as DatabaseAsset;
            }

            interactionOptions = MakeInteractionOptions(data);
            speciesOptions     = MakeSpeciesOptions(data);
            needs = MakeNeedsArray(data);
            UpdateNeeds();

            foreach (Species species in data.Species)
            {
                if (species.speciesName == SpeciesName.stringValue)
                {
                    this.species = species;
                }
            }
        }
 private void SetSimulationData(NEEDSIMManager config)
 {
     if (GameDataManager.Data == null)
     {
         if (config != null)
         {
             GameDataManager.InitSimData(config.databaseName, false);
         }
         else
         {
             GameDataManager.InitSimData(NEEDSIMEditor.DataManager.DefaultDatabase.DatabaseName, true);
         }
     }
 }
 private void GeneralSettingsEditing()
 {
     EditorGUILayout.BeginVertical();
     {
         LogSimulation.boolValue = EditorGUILayout.ToggleLeft(Simulation.Strings.LogSimulationLabel, LogSimulation.boolValue, EditorExtensionSettings.LongEditorFieldWidth);
         BuildAffordanceTreeFromScene.boolValue = EditorGUILayout.ToggleLeft(Simulation.Strings.BuildAffordanceTreeFromSceneLabel, BuildAffordanceTreeFromScene.boolValue, EditorExtensionSettings.LongEditorFieldWidth);
         EditorExtensionSettings.StandardMargin();
         EditorExtensionSettings.StandardMargin();
         if (GUILayout.Button(Simulation.Strings.PrintSimDebugLogLabel, EditorExtensionSettings.MediumEditorFieldWidth))
         {
             NEEDSIMManager.PrintSimulationDebugLogToConsole();
         }
     }
     EditorGUILayout.EndVertical();
 }