public RealCar(CarController parent) { Controller = parent; CarInfo = new CarInformations(); IsAlertBrakeActive = false; //regulators and communicator initiation CarComunicator = new RealCarCommunicator(this); // = new RealCarCommunicator(this); SpeedRegulator = new PIDSpeedRegulator(this); //SpeedRegulator = new FakeSpeedRegulator(); //SteeringWheelAngleRegulator = new SimpleSteeringWheelRegulator(this); SteeringWheelAngleRegulator = new PIDSteeringWheelAngleRegulator(this); //SteeringWheelAngleRegulator = new FakeSteeringWheelRegulator(); BrakeRegulator = new PIDBrakeRegulator(this); CarComunicator.InitRegulatorsEventsHandling(); //TODO: REFACTOR THIS SHIT!!! //for now this is needed, because reagulators does not exists when communicator constructor is invoked //internal event handling initialization evAlertBrake += new EventHandler(ExampleFakeCar_evAlertBrake); evTargetSpeedChanged += new TargetSpeedChangedEventHandler(ExampleFakeCar_evTargetSpeedChanged); evTargetSteeringWheelAngleChanged += new TargetSteeringWheelAngleChangedEventHandler(ExampleFakeCar_evTargetSteeringWheelAngleChanged); }
public void SetTargetSpeed(double targetSpeed) { TargetSpeedChangedEventHandler temp = evTargetSpeedChanged; if (temp != null) { temp(this, new TargetSpeedChangedEventArgs(targetSpeed)); } }
public void SetTargetSpeed(double speed) { CarInfo.TargetSpeed = speed; TargetSpeedChangedEventHandler temp = evTargetSpeedChanged; if (temp != null) { temp(this, new TargetSpeedChangedEventArgs(speed)); } }