/// <summary> /// Draws the entity configuration inspector. /// </summary> public override void OnInspectorGUI() { base.OnInspectorGUI(); this.entityConfigurationBehaviour = (EntityConfigurationBehaviour)this.target; if (EditorApplication.isPlaying) { // Show entity data. EditorGUILayout.LabelField( new GUIContent("Entity Id"), new GUIContent(this.entityConfigurationBehaviour.EntityId.ToString(CultureInfo.InvariantCulture))); EditorGUILayout.LabelField( new GUIContent("Blueprint Id"), new GUIContent(this.entityConfigurationBehaviour.BlueprintId)); } else { if (hierarchicalBlueprintManager == null) { // Load project blueprint data. this.LoadBlueprints(); } this.entityConfigurationBehaviour.BlueprintId = EditorGUIUtils.BlueprintIdSelection( new GUIContent("Blueprint"), this.entityConfigurationBehaviour.BlueprintId, inspectorComponentTypes, hierarchicalBlueprintManager); if (this.entityConfigurationBehaviour.Configuration == null) { // Create initial configuration. this.entityConfigurationBehaviour.Configuration = new AttributeTable(); } Blueprint selectedBlueprint = hierarchicalBlueprintManager.GetBlueprint(this.entityConfigurationBehaviour.BlueprintId); if (selectedBlueprint != null) { EditorGUIUtils.BlueprintComponentsField( selectedBlueprint, this.entityConfigurationBehaviour.Configuration, inspectorComponentTypes, hierarchicalBlueprintManager); } if (GUILayout.Button("Reload Blueprints")) { this.LoadBlueprints(); } } }