private void EndCurrentCommads()
 {
     StopAllCoroutines();
     //ScenarioDialogue dialogue = CurrentDialogue;
     //if (dialogue == null || dialogue.commands == null)
     //    return;
     for (int i = 0; i < currentCommands.Count; i++)
     {
         ScenarioCommand c = currentCommands[i];
         c.EndCommand(commandMessages[i]);
     }
     currentCommands.Clear();
     commandMessages.Clear();
 }
        private void DoCurrentCommands()
        {
            ScenarioDialogue dialogue = CurrentDialogue;

            if (dialogue == null || dialogue.commands == null)
            {
                return;
            }
            for (int i = 0; i < dialogue.commands.Count; i++)
            {
                ScenarioDialogue.Command c       = dialogue.commands[i];
                ScenarioCommand          command = c.command;
                if (command != null)
                {
                    if (command.instantiate)
                    {
                        command = Instantiate(command);
                    }
                    currentCommands.Add(command);
                    commandMessages.Add(c.message);
                    StartCoroutine(command.DoCommand(c.message));
                }
            }
        }