void ContinousCommunication() { while (true) { try { SteeringWheelAngleInfoReceivedEventHandler tempAngleEvent = evSteeringWheelAngleInfoReceived; if (tempAngleEvent != null) { tempAngleEvent(this, new SteeringWheelAngleInfoReceivedEventArgs(model.WheelAngle)); } SpeedInfoReceivedEventHander tempSpeedEvent = evSpeedInfoReceived; if (tempSpeedEvent != null) { tempSpeedEvent(this, new SpeedInfoReceivedEventArgs(model.Speed)); } BrakePositionReceivedEventHandler temp = evBrakePositionReceived; if (temp != null) { temp(this, new BrakePositionReceivedEventArgs(model.BrakePosition)); } Thread.Sleep(COMMUNICATION_THREAD_SLEEP_PER_LOOP); } catch (Exception e) { Logger.Log(this, String.Format("Fake car communicator exception catched: {0}", e.Message), 2); Logger.Log(this, String.Format("Fake car communicator exception stack: {0}", e.StackTrace), 1); } } }
public void BrakePositionsAcquired(double position) //TODO: refactor it to use external event { BrakePositionReceivedEventHandler brakePosReceived = evBrakePositionReceived; if (brakePosReceived != null) { brakePosReceived(this, new BrakePositionReceivedEventArgs(position)); } }