예제 #1
0
		/// <summary>
		/// Creates the window.
		/// </summary>
		/// <param name="root">The root.</param>
		protected virtual void CreateWindow(Root root)
		{
			Configuration config = Configuration;

			RenderWindow window;

			if (Configuration.Ogre.UseOgreConfig) {
				if (!root.RestoreConfig()) {
					if (!root.ShowConfigDialog()) {
						Console.WriteLine("Could not show the config dialog for Ogre");
						Exit();
						return;
					}

					root.SaveConfig();
				}

				window = root.Initialize(true, Configuration.Game.Name);
			} else {
				if (config.Ogre.RenderWindowParameters != null) {
					Dictionary<string, string> parameters = config.Ogre.RenderWindowParameters.ToDictionary(
						item => item.Name,
						item => item.Value);

					window = root.CreateRenderWindow(
						"OgreRoot",
						config.Screen.Width,
						config.Screen.Height,
						config.Screen.Fullscreen,
						new RenderWindowParameters(parameters));
				} else {
					window = root.CreateRenderWindow(
						"OgreRoot",
						config.Screen.Width,
						config.Screen.Height,
						config.Screen.Fullscreen);
				}
			}

			Variables.Ogre.RenderWindow = window;
		}