npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

com.iron-mountain.dialogue-system

v3.3.1

Published

A system for writing and playing branching dialogue.

Downloads

588

Readme

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()