private string GetDialogueTriggerDescription(DialogueTriggerEvent trigger) { switch (trigger) { case DialogueTriggerEvent.OnBarkEnd: return("Will occur when the NPC receives an 'OnBarkEnd' message."); case DialogueTriggerEvent.OnConversationEnd: return("Will occur when the NPC receives an 'OnConversationEnd' message."); case DialogueTriggerEvent.OnEnable: return("Will occur when the NPC's components are enabled (or re-enabled)."); case DialogueTriggerEvent.OnSequenceEnd: return("Will occur when the NPC receives an 'OnSequenceEnd' message."); case DialogueTriggerEvent.OnStart: return("Will occur when the NPC object is started."); case DialogueTriggerEvent.OnTriggerEnter: return("Will occur when a valid actor (usually the player) enters the NPC's trigger collider."); case DialogueTriggerEvent.OnUse: return("Will occur when the NPC receives an 'OnUse' event. If the player has a Selector component, it can send OnUse. You can also send OnUse from scripts, cutscene sequences, etc."); case DialogueTriggerEvent.OnDestroy: return("Will occur when the NPC object is destroyed."); case DialogueTriggerEvent.OnDisable: return("Will occur when the corresponding component on the NPC is disabled."); case DialogueTriggerEvent.OnTriggerExit: return("Will occur when a valid actor (usually the player) exits the NPC's trigger collider."); case DialogueTriggerEvent.None: return("Will not be triggered automatically."); default: return(string.Empty); } }
private DialogueTriggerEvent DrawTriggerPopup(DialogueTriggerEvent trigger) { DialogueTriggerEvent result = (DialogueTriggerEvent)EditorGUILayout.EnumPopup("Trigger", trigger); EditorGUILayout.HelpBox(GetDialogueTriggerDescription(trigger), MessageType.None); return(result); }
public static DialogueTriggerEvent LayoutPopup(string label, DialogueTriggerEvent trigger) { var nameIndex = EnumValueIndexToNameIndex(DialogueTriggerEventToEnumValueIndex(trigger)); var newNameIndex = EditorGUILayout.Popup(label, nameIndex, triggerNames); if (newNameIndex != nameIndex) { return(EnumValueIndexToDialogueTriggerEvent(NameIndexToEnumValueIndex(newNameIndex))); } else { return(trigger); } }
public static int DialogueTriggerEventToEnumValueIndex(DialogueTriggerEvent trigger) { switch (trigger) { case DialogueTriggerEvent.OnBarkEnd: return(0); case DialogueTriggerEvent.OnConversationEnd: return(1); case DialogueTriggerEvent.OnSequenceEnd: return(2); case DialogueTriggerEvent.OnTriggerEnter: return(3); case DialogueTriggerEvent.OnStart: return(4); case DialogueTriggerEvent.OnUse: return(5); case DialogueTriggerEvent.OnEnable: return(6); case DialogueTriggerEvent.OnTriggerExit: return(7); case DialogueTriggerEvent.OnDisable: return(8); case DialogueTriggerEvent.OnDestroy: return(9); case DialogueTriggerEvent.None: return(10); case DialogueTriggerEvent.OnCollisionEnter: return(11); case DialogueTriggerEvent.OnCollisionExit: return(12); default: return(10); } }
private string GetDialogueTriggerDescription(DialogueTriggerEvent trigger) { switch (trigger) { case DialogueTriggerEvent.OnBarkEnd: return "Will occur when the NPC receives an 'OnBarkEnd' message."; case DialogueTriggerEvent.OnConversationEnd: return "Will occur when the NPC receives an 'OnConversationEnd' message."; case DialogueTriggerEvent.OnEnable: return "Will occur when the NPC's components are enabled (or re-enabled)."; case DialogueTriggerEvent.OnSequenceEnd: return "Will occur when the NPC receives an 'OnSequenceEnd' message."; case DialogueTriggerEvent.OnStart: return "Will occur when the NPC object is instantiated."; case DialogueTriggerEvent.OnTriggerEnter: return "Will occur when a valid actor (usually the player) enters the NPC's trigger collider."; case DialogueTriggerEvent.OnUse: return "Will occur when the NPC receives an 'OnUse' event. If the player has a Selector component, it can send OnUse. You can also send OnUse from scripts, cutscene sequences, etc."; default: return string.Empty; } }
private DialogueTriggerEvent DrawTriggerPopup(DialogueTriggerEvent trigger) { DialogueTriggerEvent result = (DialogueTriggerEvent) EditorGUILayout.EnumPopup("Trigger", trigger); EditorGUILayout.HelpBox(GetDialogueTriggerDescription(trigger), MessageType.None); return result; }