Ejemplo n.º 1
0
        /// <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 ();
        }
Ejemplo n.º 2
0
        public RendererContext(MessageProvider messageProvider) : base(messageProvider)
        {
            m_AssimpContext = new AssimpContext();

            PrivateCompositor = null;
        }