示例#1
0
        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();
        }
示例#2
0
        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);
            }
        }