static void Main(string[] args) { try { // Initialization GLUTWrapper.Init(800, 600, "NoesisGUI Integration Sample"); Noesis.GUI.Init(); Noesis.GUI.SetResourceProvider("Data"); // Global theme { var theme = (Noesis.ResourceDictionary)Noesis.GUI.LoadXaml("NoesisStyle.xaml"); Noesis.GUI.SetTheme(theme); } // Data loading { var content = (Noesis.Grid)Noesis.GUI.LoadXaml("TextBox.xaml"); _view = Noesis.GUI.CreateView(content); _renderer = _view.Renderer; _renderer.InitGL(new Noesis.VGOptions()); } // Attach to Application events GLUTWrapper.Close += OnClose; GLUTWrapper.Tick += OnTick; GLUTWrapper.PreRender += OnPreRender; GLUTWrapper.PostRender += OnPostRender; GLUTWrapper.Resize += OnResize; GLUTWrapper.MouseMove += OnMouseMove; GLUTWrapper.MouseDown += OnMouseDown; GLUTWrapper.MouseUp += OnMouseUp; GLUTWrapper.KeyDown += OnKeyDown; GLUTWrapper.KeyUp += OnKeyUp; _eventsAttached = true; // Main Loop GLUTWrapper.Run(); } catch (Exception e) { LogError(e.Message); OnClose(); } }
protected override void OnLoad(System.EventArgs e) { Noesis.GUI.Init(); //EmbeddedXaml[] xamls = new EmbeddedXaml[] //{ // new EmbeddedXaml { filename = "Reflections.xaml", resource = "Reflections" } //}; //Noesis.GUI.SetXamlProvider(new LocalXamlProvider(".")); // Data loading Noesis.GUI.SetXamlProvider(new NoesisApp.LocalXamlProvider(".")); //Noesis.Grid xaml = (Noesis.Grid)Noesis.GUI.LoadXaml("UI\\UItest0.xaml"); xaml = new Noesis.Grid(); Noesis.GUI.LoadComponent(xaml, "UI\\UItest03.xaml"); //MyGrid xaml = new MyGrid(); Noesis.StackPanel sp = (Noesis.StackPanel)xaml.FindName("BottomMenu"); sp.DataContext = new ViewModel(); Noesis.Button button = (Noesis.Button)xaml.FindName("button"); button.Click += (object sender, Noesis.RoutedEventArgs args) => { System.Console.WriteLine("Button was clicked"); }; // create view nView = Noesis.GUI.CreateView(xaml); nView.SetSize(this.Width, this.Height); // get OpenGL rendering device Noesis.RenderDevice device = new Noesis.RenderDeviceGL(); // init renderer as OpenGL renderer = nView.Renderer; renderer.Init(device); nView.Update(0.001); // Ensures view is updated before first render call (avoids crash) CursorVisible = true; mousePos = new Vector2(this.PointToClient(new Point(Mouse.GetCursorState().X, Mouse.GetCursorState().Y)).X, this.PointToClient(new Point(Mouse.GetCursorState().X, Mouse.GetCursorState().Y)).Y); Input.mousePosition = mousePos; //GL.Disable() GL.Enable(EnableCap.Blend); GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); spritedrawer = new SpriteDrawer(view); cursorTexture = SpriteDrawer.LoadTexture("PNG\\crosshair010.png", true, false); texture = SpriteDrawer.LoadTexture("PNG\\playerShip1_red.png", true, false); player = new PlayerShip(0, 0, 0, texture, SpriteDrawer.LoadTexture("PNG\\Lasers\\laserBlue01.png", true, false), view); enemyAI = new AI(spaceObjects, player); Ship enemy1 = new Ship(200, 200, 0, SpriteDrawer.LoadTexture("PNG\\ufoBlue.png", true, false)); player.setTarget(enemy1); enemyAI.takeControl(enemy1); spaceObjects.Add(enemy1); Closed += OnClosed; }