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; }