// Copyright (c) Pixel Crushers. All rights reserved.
namespace PixelCrushers.DialogueSystem
{
///
/// A bit mask enum that defines the events that can trigger DialogueSystemTrigger.
/// As the Dialogue System has grown, trigger events were added to the end rather
/// than reordering the enum (which would break serialization in existing projects).
/// This is an expanded version of the deprecated DialogueTriggerEvent.
/// If you modify the list, you must also update the property drawer DialogueSystemTriggerEventDrawer.
///
[System.Flags]
public enum DialogueSystemTriggerEvent
{
///
/// Trigger when the GameObject receives an OnBarkEnd message
///
OnBarkEnd = 0x1,
///
/// Trigger when the GameObject receives an OnConversationEnd message
///
OnConversationEnd = 0x2,
///
/// Trigger when the GameObject receives an OnSequenceEnd message
///
OnSequenceEnd = 0x4,
///
/// Trigger when another collider enters this GameObject's trigger collider
///
OnTriggerEnter = 0x8,
///
/// Trigger when the GameObject starts (e.g., at the start of the level)
///
OnStart = 0x10,
///
/// Trigger when the GameObject receives an OnUse message (e.g., from the Selector component)
///
OnUse = 0x20,
///
/// Trigger when the trigger script is enabled (allows retriggering if you disable and
/// re-enable the script or deactivate and re-activate its GameObject.
///
OnEnable = 0x40,
///
/// Trigger when another collider exits this GameObject's trigger collider
///
OnTriggerExit = 0x80,
///
/// Trigger when the GameObject is disabled
///
OnDisable = 0x100,
///
/// Trigger when the GameObject is destroyed
///
OnDestroy = 0x200,
///
/// Don't automatically trigger
///
None = 0x400,
///
/// Trigger when another collider touches this collider
///
OnCollisionEnter = 0x800,
///
/// Trigger when another collider stops touching this collider
///
OnCollisionExit = 0x1000,
///
/// Trigger when the GameObject receives an OnBarkStart message
///
OnBarkStart = 0x2000,
///
/// Trigger when the GameObject receives an OnConversationStart message
///
OnConversationStart = 0x4000,
///
/// Trigger when the GameObject receives an OnSequenceStart message
///
OnSequenceStart = 0x8000,
///
/// Trigger after applying save data, or after Save System's Frames To Wait Before Apply Data if not applying save data
///
OnSaveDataApplied = 0x10000
}
}