public void parseProgram(int eIndex, string prg, string [] actions) { int nActs = 0; char[] lineDelimiters = { '\n' }; char[] spaceSeparators = { '|', '\n' }; string[] instructions = prg.Split(lineDelimiters); nActs = (instructions.Length) - 1; programs [eIndex] = new ListString2D(); action [eIndex] = new ListInt1D(); for (int i = 0; i < nActs; ++i) { ListString1D newInstruction = new ListString1D(); string[] instrParams = instructions [i].Split(spaceSeparators); newInstruction.theList.AddRange(instrParams); programs [eIndex].theList.Add(newInstruction); if ((instructionColor != null) && (eIndex < instructionColor.Count)) { instructionColor [eIndex].theList.Add(-1); } addAction(eIndex); setAction(eIndex, i, indexFromString(actions, instrParams [0])); } }
public void _wm_GetConver() { WisdominiObject wisObj = currentConver.GetComponent <WisdominiObject> (); ListString2D newProg = wisObj.programs [0]; programs = new List <ListString2D> (); currentProgram = null; programPointer_ = new List <int> (); programPointer_.Add(0); waitingForAnswer = new List <bool> (); eventNamesInOrder = new List <string> (); delayTime = new List <float> (); delayTime.Add(0.0f); isProgramRunning = new List <bool> (); isProgramRunning.Add(false); waitingForAnswer = new List <bool> (); waitingForAnswer.Add(false); programStacks = new List <Stack> (); programStacksPointers = new List <Stack> (); instructionColor = new List <ListInt1D> (); // a color for each instruction of each program programIsWaitingForActionToComplete = new List <bool> (); programIsWaitingForActionToComplete.Add(false); programPointer = 0; programs.Add(newProg); Stack newStack = new Stack(); programStacks.Add(newStack); Stack newProgramIndexStack = new Stack(); programStacksPointers.Add(newProgramIndexStack); originalPrograms.Add(programs[0]); this.startProgram(0); }