BF2Statistics.Program.GetResourceAsString C# (CSharp) Method

GetResourceAsString() public static method

Gets the string contents of an embedded resource
public static GetResourceAsString ( string ResourceName ) : string
ResourceName string
return string
        public static string GetResourceAsString(string ResourceName)
        {
            string Result = "";
            using (Stream ResourceStream = Program.Assembly.GetManifestResourceStream(ResourceName))
            using (StreamReader Reader = new StreamReader(ResourceStream))
                Result = Reader.ReadToEnd();

            return Result;
        }

Usage Example

Beispiel #1
0
        /// <summary>
        /// Loads the bot settings from the Settings object and the /ai/aidefault.ai file
        /// </summary>
        protected void GetBotSettings()
        {
            // Get the Bot Count
            int BotCount = Int32.Parse(Settings.GetValue("coopBotCount", "16"));

            if (BotCount > 48)
            {
                BotCount = 48;
            }

            // Set form values
            BotCountBar.Value      = BotCount;
            BotRatioBar.Value      = Int32.Parse(Settings.GetValue("coopBotRatio", "50"));
            BotDifficultyBar.Value = Int32.Parse(Settings.GetValue("coopBotDifficulty", "70"));

            // Global settings does not have a aidefault.ai file
            if (UseGlobalSettings)
            {
                ForceBotCount.Enabled = false;
                return;
            }

            // Load the mods AiDefault.ai file
            try
            {
                AiDefaultText = File.ReadAllText(Path.Combine(MainForm.SelectedMod.RootPath, "ai", "AiDefault.ai"));
                if (!AiDefaultText.StartsWith("rem BF2Statistics Formatted"))
                {
                    AiDefaultText = Program.GetResourceAsString("BF2Statistics.Resources.Ai.AIDefault.ai");
                }
            }
            catch (Exception e)
            {
                Program.ErrorLog.Write("Warning: [ServerSettings] Could not open the AiDefault.ai file : " + e.Message);
                ForceBotCount.Enabled = false;
                return;
            }

            // Use regex to parse the settings
            int             MaxBots = 16;
            Regex           Reg     = new Regex(@"aiSettings.(?<name>[A-Za-z]+)[\s|\t]+(?<value>[.0-9]+)");
            MatchCollection Matches = Reg.Matches(AiDefaultText);

            foreach (Match M in Matches)
            {
                switch (M.Groups["name"].Value.ToLower())
                {
                case "overridemenusettings":
                    ForceBotCount.Checked = BotCountForced = (M.Groups["value"].Value.Trim() == "1");
                    AiMatches[0]          = M.Value;
                    break;

                case "setmaxnbots":
                    Int32.TryParse(M.Groups["value"].Value, out MaxBots);
                    AiMatches[1] = M.Value;
                    break;

                case "setbotskill":
                    AiMatches[2] = M.Value;
                    break;

                case "maxbotsincludehumans":
                    AiMatches[3] = M.Value;
                    break;
                }
            }

            // Make sure Team 1's bot count is not higher then the total bot count
            if (MaxBots < BotCount)
            {
                MaxBots = BotCount;
            }

            // Set values
            int Count = MaxBots - BotCount;

            BotCountBar1.Value = ((Count > 48) ? 48 : Count);
            BotCountBar2.Value = BotCount;
        }