/// <summary> /// Loads a database entry from an .ini file. /// </summary> /// <param name="iniFilePath">Path to the .ini file where entry inforation is stored</param> /// <returns>True is successful, false if an error happened</returns> protected override bool OnLoad(string iniFilePath) { using (INIFile ini = new INIFile(iniFilePath)) { BriefingDescription = ini.GetValue <string>("Briefing", "Description"); BriefingDescriptionByUnitFamily = new string[Toolbox.EnumCount <UnitFamily>()]; foreach (UnitFamily family in Toolbox.GetEnumValues <UnitFamily>()) { BriefingDescriptionByUnitFamily[(int)family] = ini.GetValue <string>("Briefing", $"Description.{family}"); } BriefingRemarks = ini.GetValueArray <string>("Briefing", "Remarks", ';'); BriefingTask = ini.GetValue <string>("Briefing", "Task"); BriefingTaskFlightGroup = ini.GetValue <string>("Briefing", "Task.FlightGroup"); Flags = ini.GetValueArrayAsEnumFlags <DBEntryObjectiveFlags>("Objective", "Flags"); MissionFeatures = GetValidDBEntryIDs <DBEntryMissionFeature>( ini.GetValueArray <string>("Objective", "MissionFeatures"), out string[] invalidFeatures); foreach (string f in invalidFeatures) { DebugLog.Instance.WriteLine($"Mission feature \"{f}\" not found in objective \"{ID}\"", DebugLogMessageErrorLevel.Warning); } Payload = ini.GetValue <UnitTaskPayload>("Objective", "Payload"); UnitGroup = new DBUnitGroup(ini, "UnitGroup"); AllyUnitGroup = new DBUnitGroup(ini, "AllyUnitGroup"); WaypointInaccuracy = ini.GetValue <MinMaxI>("Waypoint", "Inaccuracy"); WaypointOnGround = ini.GetValue <bool>("Waypoint", "OnGround"); } return(true); }
/// <summary> /// Loads a database entry from an .ini file. /// </summary> /// <param name="iniFilePath">Path to the .ini file where entry inforation is stored</param> /// <returns>True is successful, false if an error happened</returns> protected override bool OnLoad(string iniFilePath) { if (!base.OnLoad(iniFilePath)) { return(false); } using (INIFile ini = new INIFile(iniFilePath)) UnitGroup = new DBUnitGroup(ini, "UnitGroup"); return(true); }
/// <summary> /// Loads a database entry from an .ini file. /// </summary> /// <param name="iniFilePath">Path to the .ini file where entry inforation is stored</param> /// <returns>True is successful, false if an error happened</returns> protected override bool OnLoad(string iniFilePath) { if (!base.OnLoad(iniFilePath)) { return(false); } using (INIFile ini = new INIFile(iniFilePath)) { UnitGroup = new DBUnitGroup(ini, "UnitGroup"); UnitGroupCoordinates = new DBEntryMissionFeatureUnitGroupLocation[2]; UnitGroupCoordinates[0] = ini.GetValue <DBEntryMissionFeatureUnitGroupLocation>("UnitGroup", "Position.Initial"); UnitGroupCoordinates[1] = ini.GetValue <DBEntryMissionFeatureUnitGroupLocation>("UnitGroup", "Position.Destination"); } return(true); }