예제 #1
0
        protected void OnWorkingStepCompleted(AllEnums.WorkingStepEndConditionTrigger trigger)
        {
            //Error Tracking
            if (m_ErrorFreeStep)
            {
                m_ErrorFreeCount++;
            }

            WorkingStepCompletedEventArgs e = new WorkingStepCompletedEventArgs();

            e.WorkingStepNumber = CurrentWorkingStepNumber;
            e.WorkingStep       = CurrentWorkingStep;
            e.LoadedWorkflow    = LoadedWorkflow;
            e.WorkflowStartTime = m_StartTime;
            e.StepStartTime     = m_StepStartTime;
            e.StepEndTime       = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
            e.StepDurationTime  = e.StepEndTime - e.StepStartTime;
            EventHandler <WorkingStepCompletedEventArgs> handler = WorkingStepCompleted;

            if (handler != null)
            {
                handler(this, e);
            }
            //Trigger WorkflowCompleted event as soon as the last step (end step) is reached
            if (CurrentWorkingStepNumber == m_LoadedWorkflow.WorkingSteps.Count)
            {
                OnWorkflowCompleted();
            }
        }
예제 #2
0
        public void NextWorkingStep(AllEnums.WorkingStepEndConditionTrigger trigger)
        {
            if (StateManager.Instance.State == AllEnums.State.WORKFLOW_PLAYING)
            {
                if (m_CurrentWorkingStepNumber != LoadedWorkflow.WorkingSteps.Count)
                {
                    //Trigger Step Completed Event
                    OnWorkingStepCompleted(trigger);

                    // reset error counter
                    m_AssemblyErrors  = 0;
                    m_BoxErrorCounter = 0;

                    m_CurrentWorkingStepNumber = m_CurrentWorkingStepNumber + 1;

                    if (m_CurrentWorkingStepNumber < LoadedWorkflow.WorkingSteps.Count)
                    {
                        //Trigger Step Started Event
                        OnWorkingStepStarted();


                        // load next scene onto scenemanager
                        LoadCurrentWorkingStep();
                        string stepCsv = "Step" + (m_CurrentWorkingStepNumber - 1);
                        this.saveToCSV(stepCsv);
                    }
                    else
                    {
                        // finished
                    }
                }
            }
        }