コード例 #1
0
        /// <summary>
        /// Load configuration from dictionary
        /// </summary>
        /// <param name="dictionary">Dictionary with dosbox configuration data.</param>
        /// <returns>DosBoxConfiguration data</returns>
        public DosBoxConfiguration LoadDictionary(IDictionary <string, object> dictionary)
        {
            foreach (var keyValue in dictionary)
            {
                switch (keyValue.Key)
                {
                case "sdl":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        SDL.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "dosbox":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        DosBox.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "render":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        Render.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "cpu":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        CPU.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "mixer":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        Mixer.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "midi":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        Midi.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "sblaster":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        SoundBlaster.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "gus":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        GUS.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "speaker":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        Speaker.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "joystick":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        Joystick.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "serial":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        Serial.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "dos":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        DOS.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "ipx":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        IPX.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                case "autoexec":
                    if (keyValue.Value is IDictionary <string, object> )
                    {
                        Autoexec.LoadDictionary(keyValue.Value as IDictionary <string, object>);
                    }
                    break;

                default:
                    break;
                }
            }

            return(this);
        }