public override void Initialize() { this.StartCoroutine(Coroutine()); IEnumerator Coroutine() { yield return(CreatePool()); yield return(GPSPositionManager.WaitForInitialization()); yield return(GoogleMapsManager.WaitForInitialization()); this.SetInstance(this); GPSPositionManager.Instance.OnGPSChanged += this.OnGPSChanged; if (GPSPositionManager.Instance.HasReceivedGPSData) { this.OnGPSChanged(GPSPositionManager.Instance.CurrentLatLong); } } IEnumerator CreatePool() { // TODO [bgish]: Pool all the necessary game objects over multiple frames yield break; } }
public static FlightDetail GetFlightDetail(AirportModel departureAirportModel, AirportModel arrivalAirportModel, AircraftModel aircraftModel) { var detail = new FlightDetail { DistanceInKm = GPSPositionManager.DistanceInKmBetween(departureAirportModel, arrivalAirportModel) }; detail.FuelNeeded = detail.DistanceInKm * aircraftModel.ConsumptionPerKm + aircraftModel.TakeOffEffort; return(detail); }