public ReturnToBase(Actor self, bool abortOnResupply, Actor dest = null, bool alwaysLand = true) { this.dest = dest; this.alwaysLand = alwaysLand; this.abortOnResupply = abortOnResupply; plane = self.Trait<Aircraft>(); planeInfo = self.Info.TraitInfo<AircraftInfo>(); }
protected override void Start() { base.Start(); PurchasedItems = GlobalModel.Inventory.PurchasedItems; EquippedItems = GlobalModel.Inventory.EquippedItems; Aircraft = GlobalModel.Aircraft; GlobalModel.Aircraft.PropertyChanged += GlobalModel_AircraftInfoPropertyChanged; Log.Debug("HangarSceneViewModel - START. Purchased items: {0}, Equipped items: {1}", PurchasedItems.Count, EquippedItems.Count); }
private void ReadAircraftList() { aircraftList.Clear(); DirectoryInfo dirInfo = new DirectoryInfo("aircraft"); DirectoryInfo[] subDirs = dirInfo.GetDirectories(); foreach (DirectoryInfo subDir in subDirs) { FileInfo[] parFiles = subDir.GetFiles("*.par"); foreach (FileInfo parFile in parFiles) { AircraftInfo aircraftInfo = new AircraftInfo(); aircraftInfo.Name = Utility.GetFileNamePart(parFile.FullName); aircraftInfo.ParFile = parFile.FullName; aircraftInfo.Folder = Utility.AppendDirectorySeparator(parFile.DirectoryName); aircraftList.Add(aircraftInfo); } } try { dirInfo = new DirectoryInfo(string.Concat(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), "\\RC Desk Pilot\\Aircraft\\")); subDirs = dirInfo.GetDirectories(); foreach (DirectoryInfo subDir in subDirs) { FileInfo[] parFiles = subDir.GetFiles("*.par"); foreach (FileInfo parFile in parFiles) { AircraftInfo aircraftInfo = new AircraftInfo(); aircraftInfo.Name = Utility.GetFileNamePart(parFile.FullName); aircraftInfo.ParFile = parFile.FullName; aircraftInfo.Folder = Utility.AppendDirectorySeparator(parFile.DirectoryName); aircraftList.Add(aircraftInfo); } } } catch { } }
/// <summary> /// Get the weather for the specified location. Do not call this method often, typically only once per session. /// Required scopes: talk_tower /// </summary> /// <param name="latLong">The location.</param> /// <returns>The weather info for the current conditions.</returns> public async Task <WeatherInfo> GetWeather(LatLong latLong) { var flightInfo = new FlightInfo { Position = new LatLong(latLong.Latitude, latLong.Longitude) }; var aircraftInfo = new AircraftInfo { Id = "Id" }; // Load this as a JObject as reports are extensible var reportResponse = await _asyncPolicy.ExecuteAsync(async() => await _settings.ApiUrl .AppendPathSegments("ops", "tower", "report") .WithClient(Client) .PostJsonAsync(new ReportRequest(aircraftInfo, flightInfo, "weather")) .ReceiveJson <JObject>()); // Grab the weather for now if there is one and process it var currentWeather = reportResponse.SelectToken("weather.forecast.current")?.ToObject <WeatherInfo>(); return(currentWeather); }
public HeliFlyAndLandWhenIdle(Actor self, Target t, AircraftInfo info) : base(self, t) { this.info = info; }
public ProductionAirdropCA(ActorInitializer init, ProductionAirdropCAInfo info) : base(init, info) { aircraftInfo = init.Self.World.Map.Rules.Actors[info.ActorType].TraitInfo <AircraftInfo>(); this.info = info; }
public AircraftMoveOrderTargeter(AircraftInfo info) { this.info = info; OrderID = "Move"; OrderPriority = 4; }
public AircraftMoveOrderTargeter(AircraftInfo info) { this.info = info; }
public HeliReturn(Actor self) { aircraftInfo = self.Info.Traits.Get <AircraftInfo>(); heli = self.Trait <Helicopter>(); heliInfo = self.Info.Traits.Get <HelicopterInfo>(); }
public ReturnToBase(Actor self, Actor dest = null) { this.dest = dest; plane = self.Trait <Aircraft>(); planeInfo = self.Info.TraitInfo <AircraftInfo>(); }
public ReturnToBase(Actor self, Actor dest = null) { this.dest = dest; plane = self.Trait<Aircraft>(); planeInfo = self.Info.TraitInfo<AircraftInfo>(); }
public HeliReturn(Actor self) { aircraftInfo = self.Info.Traits.Get<AircraftInfo>(); heli = self.Trait<Helicopter>(); heliInfo = self.Info.Traits.Get<HelicopterInfo>(); }