/// <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);
        }
示例#3
0
        /// <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);
        }