3.3.1 • Published 24 days ago

com.iron-mountain.dialogue-system v3.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
24 days ago

Dialogue System

Version: 3.0.7

Description:

A system for writing and playing branching dialogue.

Dependencies:

  • com.unity.localization (1.3.2)
  • com.unity.textmeshpro (3.0.6)
  • com.github.siccity.xnode (1.8.0)
  • com.iron-mountain.save-system (1.0.4)
  • com.iron-mountain.conditions (1.5.5)
  • com.iron-mountain.resource-utilities (1.1.2)
  • com.iron-mountain.scriptable-actions (1.0.5)

Key Scripts & Components:

  1. public class Conversation : NodeGraph
    • Actions:
      • public event Action OnIsActiveChanged
      • public event Action OnPlaythroughsChanged
    • Properties:
      • public String ID { get; set; }
      • public String Name { get; }
      • public Boolean PrioritizeOverDefault { get; }
      • public Int32 Priority { get; }
      • public String DefaultInvokingLine { get; set; }
      • public String InvokingLine { get; }
      • public Sprite InvokingIcon { get; }
      • public Boolean AlertInConversationMenu { get; }
      • public ConversationPreviewType PreviewType { get; }
      • public String PreviewText { get; }
      • public Condition Condition { get; set; }
      • public BehaviorWhenQueued BehaviorWhenEnqueued { get; }
      • public Boolean Looping { get; }
      • public Boolean IsActive { get; set; }
      • public Int32 Playthroughs { get; set; }
      • public Boolean GeneralSectionHasErrors { get; }
      • public Boolean PreviewHasErrors { get; }
      • public Boolean ConditionHasErrors { get; }
    • Methods:
      • public void RefreshActiveState()
      • public virtual void OnConversationStarted()
      • public virtual void Reset()
      • public void GenerateNewID()
      • public Boolean HasWarnings()
      • public Boolean HasErrors()
      • public Boolean GraphHasErrors()
      • public void LogGraphErrors()
  2. public enum ConversationPreviewType : Enum
  3. public class ConversationsManager : MonoBehaviour
  4. public class DialogueLine
    • Properties:
      • public ISpeaker Speaker { get; }
      • public String Text { get; }
      • public AudioClip AudioClip { get; }
      • public PortraitType Portrait { get; }
      • public AnimationType Animation { get; }
      • public Sprite Sprite { get; }
  5. public class DialogueTouchInputManager : MonoBehaviour

Actions

  1. public class SetConversationPlaythroughsAction : ScriptableAction
    • Methods:
      • public override void Invoke()
      • public override String ToString()
      • public override Boolean HasErrors()

Animation

  1. public enum AnimationType : Enum
  2. public class DialogueAnimationController : MonoBehaviour
    • Methods:
      • public void PlayAnimation(AnimationType animationType)
  3. public class DialogueAnimations
    • Methods:
      • public AnimationData GetAnimation(AnimationType type)
      • public String GetAnimationName(AnimationType type)
      • public float GetAnimationLength(AnimationType type)

Conditions

  1. public class ConditionConversationPlaythroughs : Condition
    • Properties:
      • public Sprite Depiction { get; }
    • Methods:
      • public override Boolean Evaluate()
      • public override Boolean HasErrors()
      • public override String ToString()

Dialogue Bubbles

  1. public class DialogueBubble : MonoBehaviour
  2. public class DialogueBubbleAnimator : MonoBehaviour
    • Methods:
      • public void ScaleUp()
      • public void ScaleUp(float duration)
      • public void ScaleUpImmediate()
      • public void ScaleDown()
      • public void ScaleDown(float duration)
      • public void ScaleDownImmediate()

Narration

  1. public class DialogueNarration : MonoBehaviour
    • Actions:
      • public event Action OnIsPlayingChanged
      • public event Action OnIsMutedChanged
    • Properties:
      • public ISpeaker Speaker { get; }
      • public AudioSource AudioSource { get; }
      • public Boolean IsPlaying { get; set; }
      • public Boolean IsMuted { get; set; }
    • Methods:
      • public void RefreshRequirements()
  2. public static class DialogueNarrationManager
  3. public abstract class DialogueNarrationRequirement : MonoBehaviour
    • Methods:
      • public abstract Boolean IsSatisfied()

Nodes

  1. public struct Connection
  2. public class DialogueBeginningNode : DialogueNode
    • Properties:
      • public String Name { get; }
    • Methods:
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
  3. public class DialogueEndingNode : DialogueNode
    • Properties:
      • public String Name { get; }
    • Methods:
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
  4. public class DialogueLineMainContent
    • Properties:
      • public LocalizedString TextData { get; }
      • public String Text { get; }
      • public AudioClip AudioClip { get; }
  5. public class DialogueLineNode : DialogueNode
    • Properties:
      • public Speaker CustomSpeaker { get; set; }
      • public String SimpleText { get; set; }
      • public String Text { get; }
      • public LocalizedString LocalizedText { get; }
      • public AudioClip AudioClip { get; }
      • public String Name { get; }
    • Methods:
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
  6. public class DialogueLineWithAlternatesNode : DialogueLineNode
    • Properties:
      • public List AlternateContent { get; }
  7. public abstract class DialogueNode : Node
    • Properties:
      • public String Name { get; }
    • Methods:
      • public abstract DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public virtual void OnNodeEnter(ConversationPlayer conversationUI)
      • public virtual void OnNodeExit(ConversationPlayer conversationUI)
      • public DialogueNode GetNextHaltingNode(ConversationPlayer conversationUI)
      • public Boolean HasWarnings()
      • public Boolean HasErrors()
  8. public class DialoguePassNode : DialogueNode
    • Properties:
      • public String Name { get; }
    • Methods:
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
  9. public class DialogueRandomSelectorNode : DialogueNode
    • Properties:
      • public String Name { get; }
    • Methods:
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
  10. public class DialogueResponseBlockNode : DialogueNode
    • Properties:
      • public String Name { get; }
      • public Boolean IsTimed { get; }
      • public float Seconds { get; }
    • Methods:
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public DialogueNode GetDefaultResponseNode()
      • public List`1 GetResponses(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
      • public override void OnNodeExit(ConversationPlayer conversationUI)
      • public override void OnCreateConnection(NodePort from, NodePort to)

Nodes. Actions

  1. public abstract class DialogueAction : DialogueNode
    • Methods:
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
      • public void LogErrors()
  2. public class DialoguePlayPrioritized : DialogueAction
    • Properties:
      • public String Name { get; }
  3. public class LoadScene : DialogueAction
    • Properties:
      • public String Name { get; }
  4. public class ScriptableActionNode : DialogueAction
    • Properties:
      • public String Name { get; }
  5. public class UnityEvent : DialogueAction
    • Properties:
      • public String Name { get; }

Nodes. Conditions

  1. public abstract class Condition : DialogueNode
    • Methods:
      • public void LogErrors()
  2. public abstract class PassFailCondition : Condition
    • Properties:
      • public String Name { get; }
    • Methods:
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
      • public override void OnNodeExit(ConversationPlayer conversationUI)
  3. public class PassFailConditionDialogueQueued : PassFailCondition
    • Properties:
      • public String Name { get; }
  4. public class PassFailConditionFromReference : PassFailCondition
    • Properties:
      • public String Name { get; }

Nodes. Response Generators

  1. public class BasicDialogueResponseNode : DialogueResponseNode
    • Properties:
      • public String Name { get; }
      • public String Text { get; }
      • public LocalizedString LocalizedText { get; }
    • Methods:
      • public override List`1 GetDialogueResponses(ConversationPlayer conversationPlayer)
  2. public abstract class DialogueResponseNode : DialogueNode
    • Properties:
      • public ScriptedResponseStyle ScriptedResponseStyle { get; }
    • Methods:
      • public abstract List`1 GetDialogueResponses(ConversationPlayer conversationPlayer)
      • public override DialogueNode GetNextNode(ConversationPlayer conversationUI)
      • public override void OnNodeEnter(ConversationPlayer conversationUI)
      • public override void OnNodeExit(ConversationPlayer conversationUI)
      • public override void OnCreateConnection(NodePort from, NodePort to)
  3. public class DialogueResponseNodeActiveDialogue : DialogueResponseNode
    • Properties:
      • public String Name { get; }
    • Methods:
      • public override List`1 GetDialogueResponses(ConversationPlayer conversationPlayer)

Responses

  1. public abstract class BasicResponse
    • Properties:
      • public String Text { get; }
      • public Sprite Icon { get; }
      • public Int32 Row { get; }
      • public Int32 Column { get; }
      • public IResponseStyle Style { get; }
    • Methods:
      • public abstract void Execute()
  2. public class BranchConversationResponse : BasicResponse
    • Methods:
      • public override void Execute()
  3. public interface IResponseStyle
    • Properties:
      • public float Height { get; }
      • public Color ButtonColorPrimary { get; }
      • public Color ButtonColorSecondary { get; }
      • public Color TextColor { get; }
  4. public class ResponseStyle
    • Properties:
      • public float Height { get; }
      • public Color ButtonColorPrimary { get; }
      • public Color ButtonColorSecondary { get; }
      • public Color TextColor { get; }
  5. public class ScriptedResponseStyle : ScriptableObject
    • Properties:
      • public float Height { get; }
      • public Color ButtonColorPrimary { get; }
      • public Color ButtonColorSecondary { get; }
      • public Color TextColor { get; }
  6. public class SwapConversationResponse : BasicResponse
    • Methods:
      • public override void Execute()

Selection

  1. public abstract class ConversationSelector : MonoBehaviour
    • Actions:
      • public event Action OnNextConversationChanged
    • Properties:
      • public ISpeaker Speaker { get; set; }
      • public Conversation NextConversation { get; }
    • Methods:
      • public abstract void RefreshNextConversation()
  2. public class DefaultConversationSelector : ConversationSelector
    • Methods:
      • public override void RefreshNextConversation()
  3. public class PrioritizedConversationSelector : ConversationSelector
    • Methods:
      • public override void RefreshNextConversation()

Speakers

  1. public interface ISpeaker
    • Actions:
      • public event Action OnActiveConversationsChanged
    • Properties:
      • public String ID { get; }
      • public String SpeakerName { get; }
      • public List Aliases { get; }
      • public Color Color { get; }
      • public Conversation DefaultConversation { get; }
      • public List Conversations { get; }
      • public SpeakerPortraitCollection Portraits { get; }
      • public SpeakerPortraitCollection FullBodyPortraits { get; }
    • Methods:
      • public virtual Boolean UsesNameOrAlias(String name)
  2. public class PlayConversationOnPointerClick : MonoBehaviour
    • Methods:
      • public virtual void OnPointerClick(PointerEventData eventData)
  3. public class Speaker : ScriptableObject
    • Actions:
      • public event Action OnActiveConversationsChanged
    • Properties:
      • public String ID { get; }
      • public String SpeakerName { get; }
      • public List Aliases { get; }
      • public Color Color { get; }
      • public Conversation DefaultConversation { get; }
      • public List Conversations { get; }
      • public SpeakerPortraitCollection Portraits { get; }
      • public SpeakerPortraitCollection FullBodyPortraits { get; }
    • Methods:
      • public virtual void Reset()
  4. public class SpeakerController : MonoBehaviour
    • Actions:
      • public event Action OnSpeakerChanged
      • public event Action OnEnabled
      • public event Action OnDisabled
    • Properties:
      • public ISpeaker Speaker { get; set; }
      • public ConversationSelector ConversationSelector { get; }
      • public ConversationStarter ConversationStarter { get; }
      • public Conversation NextConversation { get; }
    • Methods:
      • public virtual void StartConversation(Conversation conversation)
      • public virtual void StartConversation()
  5. public static class SpeakerControllersManager
  6. public class SpeakerPortraitCollection
    • Methods:
      • public Sprite GetPortrait(PortraitType type)

Speakers. U I

  1. public class SpeakerControllerPortraitImage : MonoBehaviour

Starters

  1. public abstract class ConversationStarter : MonoBehaviour
    • Methods:
      • public abstract ConversationPlayer StartConversation(ISpeaker speaker, Conversation conversation)
  2. public class ConversationStarterFromPrefab : ConversationStarter
    • Methods:
      • public override ConversationPlayer StartConversation(ISpeaker speaker, Conversation conversation)
  3. public class ConversationStarterFromResource : ConversationStarter
    • Methods:
      • public override ConversationPlayer StartConversation(ISpeaker speaker, Conversation conversation)

U I

  1. public class ConversationPlayer : MonoBehaviour
    • Actions:
      • public event Action OnDefaultSpeakerChanged
      • public event Action OnConversationChanged
      • public event Action OnDialogueNodeChanged
      • public event Action OnDialogueLinePlayed
      • public event Action OnClosed
    • Properties:
      • public Int32 FrameOfLastProgression { get; }
      • public float TimeOfLastProgression { get; }
      • public ISpeaker DefaultSpeaker { get; }
      • public Conversation Conversation { get; }
      • public DialogueNode CurrentNode { get; set; }
      • public DialogueLine CurrentDialogueLine { get; set; }
      • public DialogueResponseBlockNode CurrentDialogueResponseBlockNode { get; }
      • public float TotalSecondsToRespond { get; }
      • public float SecondsRemainingToRespond { get; set; }
    • Methods:
      • public ConversationPlayer Initialize(ISpeaker speaker, Conversation conversation)
      • public void Close()
      • public void HandleDialogueLine(DialogueLine dialogueLine)
      • public void EnterDialogueResponseBlockNode(DialogueResponseBlockNode dialogueResponseBlockNode)
      • public void ExitDialogueResponseBlockNode(DialogueResponseBlockNode dialogueResponseBlockNode)
      • public void PlayNextNode()
      • public void CompleteConversation()
  2. public static class ConversationPlayersManager
  3. public class DialogueLineImage : MonoBehaviour
  4. public class DialogueLineResizer : MonoBehaviour
  5. public class SpeakerBackgroundColor : MonoBehaviour
  6. public class SpeakerNameText : MonoBehaviour
  7. public class SpeakerPortraitImage : MonoBehaviour

U I. Responses

  1. public class DialogueResponseBlock : MonoBehaviour
    • Methods:
      • public void Initialize(DialogueResponseBlockNode dialogueResponseBlock, ConversationPlayer conversationUI)
      • public void Submit(BasicResponse response)
      • public void Destroy()
  2. public class DialogueResponseButton : MonoBehaviour
    • Actions:
      • public event Action OnResponseChanged
    • Properties:
      • public BasicResponse Response { get; }
    • Methods:
      • public virtual void Initialize(DialogueResponseBlock responseBlock, BasicResponse response)
  3. public class DialogueResponseButtonOutline : MonoBehaviour
  4. public class DialogueResponseButtonText : MonoBehaviour

U I. Speech Bubble Tail

  1. public class SpeechBubbleAnchor : MonoBehaviour
    • Properties:
      • public SpeakerController SpeakerController { get; }
  2. public static class SpeechBubbleAnchorsManager
  3. public class SpeechBubbleTail : Graphic

U I. Text Animation

  1. public abstract class DialogueLineTyper : MonoBehaviour
    • Properties:
      • public Boolean IsAnimating { get; }
    • Methods:
      • public abstract void ForceFinishAnimating()
  2. public class DialogueLineTyperTMPro : DialogueLineTyper
    • Methods:
      • public override void ForceFinishAnimating()
  3. public class DialogueLineTyperText : DialogueLineTyper
    • Methods:
      • public override void ForceFinishAnimating()
3.2.9

24 days ago

3.2.8

24 days ago

3.2.7

24 days ago

3.3.1

24 days ago

3.3.0

24 days ago

3.2.6

25 days ago

3.2.5

25 days ago

3.2.4

25 days ago

3.2.3

25 days ago

3.2.2

1 month ago

3.2.1

1 month ago

3.2.0

1 month ago

3.1.2

1 month ago

3.1.1

1 month ago

3.1.0

1 month ago

3.0.7

1 month ago

3.0.6

2 months ago

3.0.5

2 months ago

3.0.4

2 months ago

3.0.3

2 months ago

3.0.2

2 months ago

3.0.1

2 months ago

3.0.0

2 months ago

2.7.0

4 months ago

2.6.6

5 months ago

2.6.5

5 months ago

2.6.4

5 months ago

2.6.3

5 months ago

2.6.2

5 months ago

2.6.1

6 months ago

2.6.0

6 months ago

2.5.9

6 months ago

2.5.8

6 months ago

2.5.7

6 months ago

2.5.6

6 months ago

2.5.5

6 months ago

2.5.4

6 months ago

2.5.3

6 months ago

2.5.2

6 months ago

2.5.1

6 months ago

2.5.0

6 months ago

2.4.0

6 months ago

2.3.0

6 months ago

2.2.0

6 months ago

2.1.8

6 months ago

2.1.7

6 months ago

2.1.6

6 months ago

2.1.5

6 months ago

2.1.4

6 months ago

2.1.3

6 months ago

2.1.2

6 months ago

2.1.1

6 months ago

2.1.0

6 months ago