public void simulateLaunch(Rocket r) { // calling Rocket Endpoint // WCF code r.TimeToReachInitialOrbit = r.TimeToOrbit; RocketService.RocketServiceClient rock = new RocketService.RocketServiceClient(); while (r.TimeToReachInitialOrbit > 0) { double[] ans = rock.increaseAltitude(r.TimeToReachInitialOrbit, r.Altitude); r.TimeToReachInitialOrbit = ans[0]; r.Altitude = ans[1]; //OrbitTime = r.timeToReachInitialOrbit.ToString()+" s"; Thread.Sleep(1000); } if (r.TimeToReachInitialOrbit < 0) { r.TimeToReachInitialOrbit = 0; } AddToLogs("Rocket " + r.RocketName + " has orbitted", "Success"); // Remove thread from hashmap rocketLaunchThreadMap.Remove(r.rocketId); // Stop current thread Thread.CurrentThread.Abort(); }
public void SimulateStartTelemetry(Rocket rocket) { RocketService.RocketServiceClient rock = new RocketService.RocketServiceClient(); Rocket temp = currentRocket; while (temp.TelemetryFlag == true) { double[] telemData = rock.GetTelemetryData(rocket.Altitude); rocket.Latitude = telemData[0]; rocket.Longitude = telemData[1]; rocket.Temperature = telemData[2]; rocket.Altitude += telemData[3]; Thread.Sleep(1000); } }