private void InspectAnswer(Answer answer, DialogStage stage) { GUILayout.BeginHorizontal(); GUILayout.Label("----------------ANSWER--------------", EditorStyles.boldLabel); GUI.color = new Color(0.9f, 0.7f, 0.7f); if (GUILayout.Button("X", GUILayout.Width(25))) { stage.Answers.Remove(answer); return; } GUILayout.EndHorizontal(); EditorGUI.indentLevel++; GUI.color = new Color(0.6f, 0.9f, 0.6f); answer.Text = EditorGUILayout.TextField(answer.Text); EditorGUI.indentLevel++; //Display Ispectors for Conditions, Effects and the next scene of the answer DisplayConditions(answer); DisplayEffects(answer); SelectNextScene(answer, stage); GUI.color = Color.white; EditorGUI.indentLevel--; EditorGUI.indentLevel--; EditorGUILayout.Space(); }
private void SelectNextScene(Answer answer, DialogStage stage) { EditorGUILayout.BeginHorizontal(); var nextStage = (EditorGUILayout.ObjectField("NextScene", DialogStageBehaviour.NextStageBehaviour(answer), typeof (DialogStageBehaviour), true) as DialogStageBehaviour); if (nextStage != null && nextStage.Stage.Id != stage.Id) { answer.NextStageId = nextStage.Stage.Id; } else { answer.NextStageId = -1; if (GUILayout.Button("Create Stage")) { var go = new GameObject(); go.transform.position = (target as MonoBehaviour).transform.position + Vector3.right*2; var stageBehaviour = go.AddComponent<DialogStageBehaviour>(); stageBehaviour.RefreshId(); answer.NextStageId = stageBehaviour.Stage.Id; } } EditorGUILayout.EndHorizontal(); }