Giter Club home page Giter Club logo

dialoguesystem's People

Contributors

blueknightone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dialoguesystem's Issues

[BUG] Default demo conversation throws an error

Describe the bug
The default sample conversation (Assets/DialogueSystem/Demo/Dialogue/Sample.asset) throws the follwoing error:

NullReferenceException: Object reference not set to an instance of an object
lastmilegames.DialogueSystem.DialoguePlayer.GetTargetNode (lastmilegames.DialogueSystem.NodeData.NodeLinkData nodeLink) (at Assets/DialogueSystem/Scripts/DialoguePlayer.cs:48)
lastmilegames.DialogueSystem.DialoguePlayer.PlayDialogue (lastmilegames.DialogueSystem.DialogueContainer container) (at Assets/DialogueSystem/Scripts/DialoguePlayer.cs:39)
UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) (at <e5b75411c8cd4bfaa9e760be20206f29>:0)
UnityEngine.Events.CachedInvokableCall`1[T].Invoke (System.Object[] args) (at <e5b75411c8cd4bfaa9e760be20206f29>:0)
UnityEngine.Events.UnityEvent.Invoke () (at <e5b75411c8cd4bfaa9e760be20206f29>:0)
UnityEngine.UI.Button.Press () (at D:/Unity/2019.4.13f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:68)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at D:/Unity/2019.4.13f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:110)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at D:/Unity/2019.4.13f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:50)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at D:/Unity/2019.4.13f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:261)
UnityEngine.EventSystems.EventSystem:Update() (at D:/Unity/2019.4.13f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/EventSystem.cs:377)

To Reproduce
Steps to reproduce the behavior:

  1. Import the package (or clone the project)
  2. Press play
  3. Press "Play Sample" button
  4. See error

Expected behavior
The sample conversation (a basic tutorial) should play

Desktop (please complete the following information):

  • OS: Window 10
  • Unity Version 2019.4.13f1

Additional context
This happens because the conversation is empty.

Dialogue Player

Create a DialoguePlayer component that handles displaying a dialogue and interactions through the UI.

Move Add Dialogue and Add Condition to Search Window

Similar to the ShaderGraph Create node search window, move the ability to create nodes from the toolbar to the search menu.

  • Remove buttons from toolbar
  • Create SearchWindowProvider and add to context menu.
  • Add node creation actions to search window
  • Create new node at mouse position.

[FEATURE REQUEST] Event Trigger Node

A node that calls an event provided by the designer. This would be useful for switching some enemies from friendly to hostile due to player's dialogue choices or a number of other features a designer may want to happen (attribute changes, faction reputation, etc.).

The node should take a List<UnityEvent> and iterate through, calling each event.

Additional Enhancement The List<UnityEvent> should be reorderable to control what order the events are triggered in.

[SUGGESTION] Display response text on port options foldout

Identify the Issue

When creating new ports on a Dialogue Node, the foldout label is always "Port Options" and it must be opened to see the response text or whether a condition is set.

Suggestion

When the response text is changed, update the foldout label to display the text (should be truncated). Can also add an icon to show a toggle condition has been set.

[SUGGESTION] Convert UI generation to UXML

Remember: Be courteous, be constructive, be critical.

Context
This method creates and adds all of the nodes.

Identify the Issue

It's verbose and hard to navigate, and probably tries to do to much within a class.

Suggestion

Unity UIElements allows defining editor UI through an XML-like text files. This would move creating the controls out of the class, which would then simply load the UI like it currently loads in the style sheets.

Add properties that allow changing dialogue options in response to player customizations (Pronouns, character names, etc.)

First pass

Can create properties in the Graph blackboard that will search for "tagged text" in dialogue nodes and replace it with the property value.

  • Expose a method that will allow changes to update at runtime through script.

Second pass

Can create a Scriptable Object that contains all the properties and extend the blackboard to load the properties from the scriptable object or from the blackboard.

  • If a scriptable object is loaded when there have been changes made, ask user if they want to keep their changes or overwrite with scriptable object's info.
  • If a scriptable object is loaded and a property is changed via the blackboard, prefer the blackboard over the scriptable object.
  • Add a auto-save toggle and save button to the blackboard to save changes in blackboard to Scriptable Object

[BUG] No way to exit dialogue if a dialogue response exists.

Describe the bug
If you create a dialogue node with a choice (say if you want an choice button that has a custom label), the choice button throws a "mismatched number of links and responses" and no choice button is generated.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new dialogue container
  2. Create a single Dialogue Node and link it from Start
  3. Add a choice to the dialogue node
  4. Save the dialogue and try to run it.

Expected behavior
The choice button with the custom text should appear and clicking on it should end the conversation.

Desktop (please complete the following information):

  • OS: Windows 10 Pro
  • Unity Version 2019.4.13f1

Additional context
Add any other context about the problem here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.