private void OnScriptHandlerStateChange_1(ScriptThreadState state) { switch (state) { case ScriptThreadState.Waiting: Data.RunEnabled = true; Data.PauseEnabled = false; Data.ResumeEnabled = false; this.Dispatcher.Invoke(new Action(() => { Data.StatusBarBackground = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(0, 122, 204)); })); break; case ScriptThreadState.Running: Data.RunEnabled = false; Data.PauseEnabled = true; Data.ResumeEnabled = false; this.Dispatcher.Invoke(new Action(() => { Data.StatusBarBackground = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(202, 81, 0)); })); break; case ScriptThreadState.Paused: Data.RunEnabled = false; Data.PauseEnabled = false; Data.ResumeEnabled = true; break; } }
protected static void StateChangeEventThread() { ScriptThreadState state1 = 0; ScriptThreadState state2 = 0; while (true) { if (State_1 != state1) { state1 = State_1; if (OnState1Changed != null) { OnState1Changed(State_1); } } if (State_2 != state2) { state2 = State_2; if (OnState2Changed != null) { OnState2Changed(State_2); } } Thread.Sleep(1); } }
public static void ResumeThread2() { if (State_2 == ScriptThreadState.Paused) { State_2 = ScriptThreadState.Running; Node.SetPaused(2, false); return; } }
protected static void OnPaused(int id) { switch (id) { case 1: State_1 = ScriptThreadState.Paused; break; case 2: State_2 = ScriptThreadState.Paused; break; default: break; } //State_1 = ScriptThreadState.Paused; }
private void OnScriptHandlerStateChange_2(ScriptThreadState state) { switch (state) { case ScriptThreadState.Waiting: Data.TFRunEnabled = true; Data.TFPauseEnabled = false; Data.TFResumeEnabled = false; break; case ScriptThreadState.Running: Data.TFRunEnabled = false; Data.TFPauseEnabled = true; Data.TFResumeEnabled = false; break; case ScriptThreadState.Paused: Data.TFRunEnabled = false; Data.TFPauseEnabled = false; Data.TFResumeEnabled = true; break; } }
protected static void Thread_2_Handle() { State_2 = ScriptThreadState.Waiting; while (true) { //Warte bis ein object an den Thread übergeben wird while (Thread_2_Obj == null) { Thread.Sleep(1); } State_2 = ScriptThreadState.Running; Function local = null; lock (Thread_2_Obj) { local = Thread_2_Obj; } Node localNode = local.GetFunctionNode(new List <Node>()); localNode.ScriptThreadID = 2; bool b = false; localNode.Evaluate(out b); localNode.Clean(); local.Clear(); lock (Thread_2_Obj) { Thread_2_Obj = null; } State_2 = ScriptThreadState.Waiting; //Warte am ende 1ms Thread.Sleep(1); } }
public void GetScriptThreadState(uint thread, out ScriptThreadState state) { Debug.WriteLine("GetScriptThreadState()"); state = ScriptThreadState.NotInScript; }
public void GetScriptThreadState(uint thread, out ScriptThreadState state) { Debug.WriteLine ("GetScriptThreadState()"); state = ScriptThreadState.NotInScript; }