private void DrawReviewStage() { EditorGUILayout.LabelField("Review", EditorStyles.boldLabel); EditorWindowTools.StartIndentedSection(); EditorGUILayout.HelpBox("Your Player is ready! Below is a summary of the configuration.", MessageType.Info); SimpleController simpleController = pcObject.GetComponent <SimpleController>(); NavigateOnMouseClick navigateOnMouseClick = pcObject.GetComponent <NavigateOnMouseClick>(); if (simpleController != null) { EditorGUILayout.LabelField("Control: Third-Person Shooter Style"); } else if (navigateOnMouseClick != null) { EditorGUILayout.LabelField("Control: Follow Mouse Clicks"); } else { EditorGUILayout.LabelField("Control: Custom"); } switch (GetSelectorType()) { case SelectorType.CenterOfScreen: EditorGUILayout.LabelField("Targeting: Center of Screen"); break; case SelectorType.CustomPosition: EditorGUILayout.LabelField("Targeting: Custom Position (you must set Selector.CustomPosition)"); break; case SelectorType.MousePosition: EditorGUILayout.LabelField("Targeting: Mouse Position"); break; case SelectorType.Proximity: EditorGUILayout.LabelField("Targeting: Proximity"); break; default: EditorGUILayout.LabelField("Targeting: None"); break; } SetEnabledOnDialogueEvent enabler = FindConversationEnabler(); if (enabler != null) { ShowDisabledComponents(enabler.onStart); } ShowCursorOnConversation showCursor = pcObject.GetComponentInChildren <ShowCursorOnConversation>(); if (showCursor != null) { EditorGUILayout.LabelField("Show Cursor During Conversations: Yes"); } PersistentPositionData persistentPositionData = pcObject.GetComponentInChildren <PersistentPositionData>(); EditorGUILayout.LabelField(string.Format("Save Position: {0}", (persistentPositionData != null) ? "Yes" : "No")); EditorWindowTools.EndIndentedSection(); DrawNavigationButtons(true, true, true); }
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); }
private void DrawPersistenceStage() { EditorGUILayout.LabelField("Persistence", EditorStyles.boldLabel); PersistentPositionData persistentPositionData = npcObject.GetComponent <PersistentPositionData>(); EditorWindowTools.StartIndentedSection(); EditorGUILayout.HelpBox("The NPC can be configured to record its position in the Dialogue System's Lua environment so it will be preserved when saving and loading games.", MessageType.Info); EditorGUILayout.BeginHorizontal(); bool hasPersistentPosition = EditorGUILayout.Toggle((persistentPositionData != null), GUILayout.Width(ToggleWidth)); EditorGUILayout.LabelField("NPC records position for saved games", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); if (hasPersistentPosition) { if (persistentPositionData == null) { persistentPositionData = npcObject.AddComponent <PersistentPositionData>(); } if (string.IsNullOrEmpty(persistentPositionData.overrideActorName)) { EditorGUILayout.HelpBox(string.Format("Position data will be saved to the Actor['{0}'] (the name of the NPC GameObject) or the Override Actor Name if defined. You can override the name below.", npcObject.name), MessageType.None); } else { EditorGUILayout.HelpBox(string.Format("Position data will be saved to the Actor['{0}']. To use the name of the NPC GameObject instead, clear the field below.", persistentPositionData.overrideActorName), MessageType.None); } persistentPositionData.overrideActorName = EditorGUILayout.TextField("Actor Name", persistentPositionData.overrideActorName); } else { DestroyImmediate(persistentPositionData); } if (GUILayout.Button("Select NPC", GUILayout.Width(100))) { Selection.activeGameObject = npcObject; } EditorWindowTools.EndIndentedSection(); DrawNavigationButtons(true, true, false); }