private void DrawReviewStage() { EditorGUILayout.LabelField("Review", EditorStyles.boldLabel); EditorWindowTools.StartIndentedSection(); EditorGUILayout.HelpBox("Your NPC is ready! Below is a summary of your NPC's configuration.", MessageType.Info); ConversationTrigger conversationTrigger = npcObject.GetComponentInChildren <ConversationTrigger>(); if (conversationTrigger != null) { EditorGUILayout.LabelField(string.Format("Conversation: '{0}'{1} {2}", conversationTrigger.conversation, conversationTrigger.once ? " (once)" : string.Empty, conversationTrigger.trigger)); } else { EditorGUILayout.LabelField("Conversation: None"); } BarkTrigger barkTrigger = npcObject.GetComponentInChildren <BarkTrigger>(); if (barkTrigger != null) { EditorGUILayout.LabelField(string.Format("Triggered Bark: '{0}' ({1}) {2}", barkTrigger.conversation, barkTrigger.barkOrder, barkTrigger.trigger)); } else { EditorGUILayout.LabelField("Triggered Bark: None"); } BarkOnIdle barkOnIdle = npcObject.GetComponentInChildren <BarkOnIdle>(); if (barkOnIdle != null) { EditorGUILayout.LabelField(string.Format("Timed Bark: '{0}' ({1}) every {2}-{3} seconds", barkOnIdle.conversation, barkOnIdle.barkOrder, barkOnIdle.minSeconds, barkOnIdle.maxSeconds)); } else { EditorGUILayout.LabelField("Timed Bark: No"); } PersistentPositionData persistentPositionData = npcObject.GetComponentInChildren <PersistentPositionData>(); EditorGUILayout.LabelField(string.Format("Save Position: {0}", (persistentPositionData != null) ? "Yes" : "No")); EditorWindowTools.EndIndentedSection(); DrawNavigationButtons(true, true, true); }