Exemple #1
0
        private static bool AddLuaFileToEntries(Dictionary <string, byte[]> mizFileEntries, string mizEntryKey, string sourceFile, DCSMission mission = null)
        {
            if (string.IsNullOrEmpty(mizEntryKey) || mizFileEntries.ContainsKey(mizEntryKey) || string.IsNullOrEmpty(sourceFile))
            {
                return(false);
            }
            sourceFile = $"{BRPaths.INCLUDE_LUA}{sourceFile}";
            if (!File.Exists(sourceFile))
            {
                return(false);
            }

            string luaContent = File.ReadAllText(sourceFile);

            if (mission != null) // A mission was provided, do the required replacements in the file.
            {
                luaContent = mission.ReplaceValues(luaContent);
            }

            foreach (Match match in Regex.Matches(luaContent, "\\$.*?\\$"))
            {
                BriefingRoom.PrintToLog($"Found a non-assigned value ({match.Value}) in Lua file \"{mizEntryKey}\".", LogMessageErrorLevel.Warning);
            }
            luaContent = Regex.Replace(luaContent, "\\$.*?\\$", "0");

            mizFileEntries.Add(mizEntryKey, Encoding.UTF8.GetBytes(luaContent));
            return(true);
        }
Exemple #2
0
        public DatabaseSourceTypeAttribute(DatabaseEntryType entryType, bool allowEmpty = false)
        {
            EntryType = entryType;

            List <string> allowableValuesList = new List <string>();

            if (allowEmpty)
            {
                allowableValuesList.Add("");
            }
            allowableValuesList.AddRange(BriefingRoom.GetDatabaseEntriesIDs(entryType));
            AllowableValues = allowableValuesList.ToArray();
        }