Exemple #1
0
        void TaskThreadProcess()
        {
            while (true)
            {
                switch (state)
                {
                case TaskDemoMessageState.Etat1:
                    sw.Restart();
                    parent.OnTextMessage("TaskDemoMessage : Etat 1");
                    Console.WriteLine("TaskDemoMessage : Etat 1");
                    state = TaskDemoMessageState.Etat1EnCours;
                    break;

                case TaskDemoMessageState.Etat1EnCours:
                    if (sw.ElapsedMilliseconds > 3000)
                    {
                        state = TaskDemoMessageState.Etat2;
                    }
                    break;

                case TaskDemoMessageState.Etat2:
                    sw.Restart();
                    state = TaskDemoMessageState.Etat2EnCours;
                    parent.OnTextMessage("TaskDemoMessage : Etat 2");
                    Console.WriteLine("TaskDemoMessage : Etat 2");
                    break;

                case TaskDemoMessageState.Etat2EnCours:
                    if (sw.ElapsedMilliseconds > 1000)
                    {
                        state = TaskDemoMessageState.Etat3;
                    }
                    break;

                case TaskDemoMessageState.Etat3:
                    sw.Restart();
                    state = TaskDemoMessageState.Etat3EnCours;
                    parent.OnTextMessage("TaskDemoMessage : Etat 3");
                    Console.WriteLine("TaskDemoMessage : Etat 3");
                    break;

                case TaskDemoMessageState.Etat3EnCours:
                    if (sw.ElapsedMilliseconds > 500)
                    {
                        state = TaskDemoMessageState.Etat1;
                    }
                    break;

                default:
                    break;
                }
                Thread.Sleep(20);
            }
        }
 public void SetTaskState(TaskDemoMessageState state)
 {
     this.state = state;
 }