/// <summary> /// The entry point of the program, where the program control starts and ends. /// </summary> /// <param name="args">The command-line arguments.</param> public static void Main (string[] args) { Application.Instance = new Application ("No Way Out", args); Application.Instance.Init (); Application.Instance.Load (); Application.Instance.AudioManager.LoadSound ("main_menu_Sound", "Content/Audio/main_menu.ogg"); MainMenuMusic = Application.Instance.AudioManager.CreateSource ("main_menu_SoundSource", "main_menu_Sound"); MainMenuMusic.Loop = true; MainMenuMusic.Gain = 0.6f; MainMenuMusic.Play (); MazeTest maze = null; if (!Application.Instance.IsCommandLineInterface) { Content.Game game = Application.Instance.Game; var rc = Application.Instance.RendererContext; var messageManager = Application.Instance.MessageManager; var objmnr = Application.Instance.ObjectManager; var compositor = new BasicCompositor (objmnr, rc); var sceneNode = new CompositorNodeScene (rc, messageManager); var outputNode = new CompositorNodeOutput (rc, messageManager); var colorCorrectionNode = new CompositorColorCorrectionNode (rc, messageManager); var healthOverlayNode = new CompositorImageOverlayNode (rc, messageManager); var warpingNode = new CompositorWarpingNode (rc, messageManager); compositor.AddNode (sceneNode); compositor.AddNode (outputNode); compositor.AddNode (healthOverlayNode); compositor.AddNode (colorCorrectionNode); compositor.AddNode (warpingNode); compositor.AddConnection (sceneNode, healthOverlayNode, 0, 0); compositor.AddConnection (healthOverlayNode, colorCorrectionNode, 0, 0); compositor.AddConnection (colorCorrectionNode, warpingNode, 0, 0); compositor.AddConnection (warpingNode, outputNode, 0, 0); rc.Compositor = compositor; new MainMenu(Application.Instance, () => { outputNode.EnableUI = false; maze = new MazeTest(messageManager, objmnr, rc, game, Application.Instance, sceneNode, healthOverlayNode, colorCorrectionNode, outputNode, warpingNode); outputNode.EnableUI = true; maze.Generate(); }, colorCorrectionNode); } Application.Instance.Run (); if (maze != null) maze.Destroy (); Application.Instance.Destroy (); }
public RendererContext(MessageProvider messageProvider) : base(messageProvider) { m_AssimpContext = new AssimpContext(); PrivateCompositor = null; }