public void Reset()
        {
            foreach (var automator in automators)
            {
                automator.Cleanup();
                Destroy(automator.gameObject);
            }

            runConfig    = null;
            automators   = new List <Automator>();
            currentIndex = 0;
            Initialized  = false;

            Destroy(gameObject);
            _instance = null;
        }
        public void Run(AutomatedRun.RunConfig runConfig = null)
        {
            if (Initialized)
            {
                return;
            }

            if (runConfig == null)
            {
                runConfig = new AutomatedRun.RunConfig();
            }

            Initialized    = true;
            this.runConfig = runConfig;

            foreach (var automatorConfig in runConfig.automators)
            {
                AddAutomator(automatorConfig);
            }
            BeginAutomator();
        }