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(); }