using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class StateMachine : MonoBehaviour { public Note currentNote; public void nextNote(int count) { currentNote = currentNote.Transitions[count].Target; setNote(); } public void setNote() { var dialogueBox = GetComponent<DialogueBox>(); dialogueBox.setActor(currentNote.ActorName); dialogueBox.setText(currentNote.DialogueText); dialogueBox.setTransitions(currentNote.Transitions); } //Test public void Start() { Transition[] GHI = new Transition[2]; Note TestNote = new Note("Actor 3","Testing Text 3",GHI); Transition TestingTransition = new Transition("Continue", TestNote); Transition[] ABC = new Transition[1]; ABC[0] = TestingTransition; Note TestNote2 = new Note("Actor 2","Testing Text 2", ABC); Transition TestingTransition1 = new Transition("Yes", TestNote2); Transition[] DEF = new Transition[1]; DEF[0] = TestingTransition1; Note TestNote3 = new Note("Actor 1","Testing Text 1", DEF); Transition TestingTransition2 = new Transition("No", TestNote3); GHI[0] = TestingTransition1; Transition[] JKL = new Transition[5]; JKL[0] = TestingTransition1; JKL[1] = TestingTransition2; JKL[3] = TestingTransition; JKL[4] = TestingTransition1; Note TestNote4 = new Note("Actor 4", "Testing Text 4", JKL); Transition TestingTransition3 = new Transition("Unsure", TestNote4); GHI[1] = TestingTransition3; JKL[2] = TestingTransition3; currentNote = TestNote3; setNote(); } public class Note { public string ActorName; public string DialogueText; public Transition[] Transitions; public Note(string actor,string dialogue) { ActorName = actor; DialogueText = dialogue; } public Note(string actor,string dialogue,Transition[] noteTransitions) { ActorName = actor; DialogueText = dialogue; Transitions = noteTransitions; } } public class Transition { public string TransitionName; public Note Target; public Transition(string name,Note target){ TransitionName = name; Target = target; } } }