Skip to content

GDGVIT/nonlinear-info-editor

Repository files navigation

GDSC VIT

WASDEditor

A simple open-source dialogue system and editor

Features

  • Character Creation
  • Branching Dialogue Trees
  • Designer Friendly

Dependencies

This project requires the following tools and libraries to be edited:

  • Unity Engine (2023+)
  • Newtonsoft JSON (com.unity.nuget.newtonsoft-json)

Newtonsoft JSON is also required to use the sample interpreter. No dependencies are required to run the editor application.

Running

download the binaries from itch.io

Technical Details

Data Format

The following class is used to generate the json output of the program. It uses the newtonsoft.json library to Serialize and Deserialize data.

//Unused
public struct VarConstOperation
{
    public string varName;
    public VarOperators op; // VarOperators is an enum that remains unused for this version

    public float num;
}

//Unused
public struct VarVarOperation
{
    public string varName;
    public VarOperators op; // VarOperators is an enum that remains unused for this version

    public string var2Name;
}

// Following struct defines a Connection
public struct OptionData
{
    public VarConstOperation[] constCheck; //Unused
    public VarVarOperation[] varCheck; //Unused
    public string title; // Used to store the content of the option
    public int id; // id of the Option, also the index of self in the DialogueData.options array
}

// Following struct defines a Character
public struct Character
{
    public int id; // unique id of the Character, also the index of self in the DialogueTree.chars array
    public string Name; // name of the character
}

// Following class contains all data for the dialogue node
public class DialogueData
{
    public int id; // unique id of the node, also the index of self in the DialogueTree.dialogues array
    public string title; // title of the node
    public string line; // actual content of the node
    public OptionData[] options; // list of connections made from this node
    public VarConstOperation[] variableConstantOperations; //Unused
    public VarVarOperation[] variableVariableOperations; //Unused
    public int[] charIDs; // refers to index in the DialogueTree.chars array
    public int charCurrentlySpeaking; // refers to index in the charID array
}

// Following class contains all data for the dialogue tree
public class DialogueTree
{
    public Dictionary<string, float> variables; //Unused
    public Character[] chars; //Characters
    public DialogueData[] dialogues; //List of dialogue nodes
}

External Libraries/Packages Used

Contributors

graphicmismatch (Rayan Madan)

graphicmismatch(Rayan Madan)

GitHub LinkedIn

Made with ❤ by GDSC-VIT

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published