Beispiel #1
0
        public void Draw()
        {
            float dot = Vector3.Dot(SkyDome.LightDirection, Camera.Forward);

            if (dot < 0.5f)
            {
                foreach (Flare flare in flares)
                {
                    SpriteDrawer.SetVisible(flare.id, false);
                }
                return;
            }

            Matrix infiniteView = Camera.ViewMatrix;

            infiniteView[3, 0] = infiniteView[3, 1] = infiniteView[3, 2] = 0;

            // Project the light position into 2D screen space.
            Viewport vp   = Game.Device.Rasterizer.GetViewports()[0];
            Matrix   proj = Matrix.PerspectiveFovLH(Camera.Fovx, Camera.AspectRatio, 1.0f, 1000000.0f);
            Vector3  projectedPosition = Vector3.Project(-SkyDome.LightDirection, vp.X, vp.Y, vp.Width, vp.Height, vp.MinZ, vp.MaxZ, Matrix.Identity * infiniteView * proj);

            projectedPosition.X /= WeatherGame.Framework.Rendering.DeferredRenderer.RenderWidth;
            projectedPosition.Y /= WeatherGame.Framework.Rendering.DeferredRenderer.RenderHeight;

            Vector2 lightPosition = new Vector2(projectedPosition.X * 2.0f - 1.0f, (projectedPosition.Y * 2.0f - 1.0f) * -1);

            UpdateOcclusion();

            DrawFlares(lightPosition);
        }
        /// <param name="sprites">Spritesheet to use when drawing</param>
        /// <param name="topleft">Top left coordinate of the 0,0 tile</param>
        /// <param name="bounds">Part of the minimap to draw</param>
        public void Draw(Spritesheet sprites, Vector2 topleft, Rectangle?bounds = null, bool DrawPlayerIndicator = true)
        {
            Rectangle b = bounds ?? new Rectangle(0, 0, tiles.Width, tiles.Height);

            for (int y = b.Top; y < b.Bottom; ++y)
            {
                for (int x = b.Left; x < b.Right; ++x)
                {
                    Vector2 pos     = topleft + new Vector2(x * sprites.Width, y * sprites.Height);
                    int     visible = interest[x + y * tiles.Width];
                    if (visible > 0)
                    {
                        SpriteDrawer.DrawGuiSprite(sprites.Tex, pos, sprites.GetRect(tiles.GetTile(new(x, y))), Z: DrawingUtilities.GetDrawingZ(DrawOrder.MINIMAP));
                    }
                    if (visible > 1)
                    {
                        SpriteDrawer.DrawGuiSprite(sprites.Tex, pos, sprites.GetRect(ChestIndicator), Z: DrawingUtilities.GetDrawingZ(DrawOrder.MINIMAP_CHEST));
                    }
                }
            }

            Vector2 PlayerPos = new Vector2(GlobalState.CURRENT_GRID_X, GlobalState.CURRENT_GRID_Y);

            if (b.Contains(PlayerPos) && DrawPlayerIndicator)
            {
                SpriteDrawer.DrawGuiSprite(sprites.Tex, topleft + PlayerPos * new Vector2(sprites.Width), sprites.GetRect(PlayerIndicator), Z: DrawingUtilities.GetDrawingZ(DrawOrder.MINIMAP_PLAYER));
            }
        }
        public override void Draw()
        {
            base.Draw();

            float z     = DrawingUtilities.GetDrawingZ(layer);
            float max_z = DrawingUtilities.GetDrawingZ(layer + 1);

            SpriteDrawer.DrawGuiSprite(_sliderBg, new Rectangle(
                                           (int)(position.X + BarOffset - _slider.Width / 2),
                                           (int)(position.Y - _slider.Height / 2),
                                           (int)(_slider.Width),
                                           (int)(_slider.Height)),
                                       Z: z);


            SpriteDrawer.DrawGuiSprite(_slider.Tex, position + new Vector2(BarOffset, 0), _slider.GetRect((int)_style), Z: z + 2 * (max_z - z) / 3);

            if (current > min)
            {
                int width = (int)(_slider.Width * (current - min) / (max - min));

                SpriteDrawer.DrawGuiSprite(_sliderInside, new Rectangle(
                                               (int)(position.X + BarOffset - width / 2),
                                               (int)(position.Y - _slider.Height / 2),
                                               (int)(width),
                                               (int)(_slider.Height)),
                                           Z: z + (max_z - z) / 3);
            }
        }
Beispiel #4
0
 public virtual void Draw()
 {
     if (exists)
     {
         if (visible)
         {
             Rectangle srect = sprite.GetRect(_curAnim.Frame);
             srect.Height -= (int)y_push;
             SpriteDrawer.DrawSprite(sprite.Tex,
                                     MathUtilities.CreateRectangle(Position.X - offset.X * scale, Position.Y - offset.Y * scale + (int)y_push, srect.Width * scale, srect.Height * scale),
                                     srect,
                                     color * opacity,
                                     rotation,
                                     _flip,
                                     DrawingUtilities.GetDrawingZ(layer, MapUtilities.GetInGridPosition(Position).Y + height));
         }
         if (shadow != null)
         {
             shadow.Draw();
         }
         if (GlobalState.draw_hitboxes && HasVisibleHitbox)
         {
             SpriteDrawer.DrawSprite(ResourceManager.GetTexture("hitbox"), Hitbox, color: Color.Red, Z: DrawingUtilities.GetDrawingZ(DrawOrder.HITBOX, 0));
         }
     }
 }
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            ResourceManager.LoadResources(Content);
            CardDataManager.ReadCardData();

            if (File.Exists("InputConfig.dat"))
            {
                using InputConfigLoader inputConfigWriter = new InputConfigLoader($"{BaseFolder}InputConfig.dat");
                inputConfigWriter.LoadInputConfig();
            }
            else
            {
                SetDefaultKeys();
                using InputConfigWriter inputConfigWriter = new InputConfigWriter($"{BaseFolder}InputConfig.dat");
                inputConfigWriter.WriteInputConfig();
            }

            DialogueManager.Reload();

            SpriteDrawer.Load(Content);

            foreach (var effect in GlobalState.AllEffects)
            {
                effect.Load(Content, graphics.GraphicsDevice);
            }
        }
        private void Draw()
        {
            if (!renderTargetDrawn)
            {
                renderTexture.Use();
                renderTexture.Clear(Color4.Gray);
                vab.Bind();
                vao.Bind();
                pipeline.Bind();
                worldMatrix.Matrix = renderTexture.WorldMatrix;
                worldMatrix.Set(pipeline);
                vab.DrawDirect(3);
                var imageData = renderTexture.Framebuffer.Read(800, 600);
                var image     = Image.LoadPixelData <Rgba32>(imageData, 800, 600);
                image.Save("Screenshot.png");
                renderTargetDrawn = true;
                var sprite = SpriteDrawer.Draw(renderTexture, 0f, 0f);
                spriteRenderer.SetRenderItems(new SpriteRenderItem[] { sprite });
                spriteRenderer.RenderToData((data, count, tex) =>
                {
                    spriteDisplayList.SetVertices(data);
                    spriteDisplayList.SetIndices(SpriteRenderer.GetIndices(1));
                    resourceSet.Texture = tex;
                });
            }

            defaultFramebuffer.Bind();
            normal.Set();

            rotation += 0.001f;
            spriteDisplayList.Draw(resourceSet);
        }
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            base.Draw(gameTime);
            GameTimes.UpdateFPS(gameTime);
            if (GlobalState.ShowFPS)
            {
                _fpsLabel.SetText($"FPS: {GameTimes.FPS:0}");
            }

            SpriteDrawer.BeginDraw(_camera);
            _currentState.Draw();
            SpriteDrawer.EndDraw();

            SpriteDrawer.BeginGUIDraw();
            _currentState.DrawUI();

            if (GlobalState.ShowFPS)
            {
                _fpsLabel.Draw();
            }

            SpriteDrawer.EndGUIDraw();

            SpriteDrawer.Render();
        }
        private void Window_Closing(object sender, CancelEventArgs e)
        {
            try
            {
                Game.Device.ClearState();
            }
            catch { }
            Rendering.Grid.Dispose();
            KeyboardInput.ReleaseDevice();
            MouseInput.ReleaseDevice();
            SpriteDrawer.Dispose();
            DeferredRenderer.Dispose();
            SkyDome.Dispose();
            TextureLoader.Dispose();
            PhysicsEngine.Dispose();
            GameData.Dispose();
            WorldData.Dispose();

            if (view1.D3DScene != null)
            {
                view1.D3DScene.Dispose();
            }
            view1.Dispose();

            ShaderHelper.Dispose();
        }
Beispiel #9
0
        public void Draw()
        {
            float z        = DrawingUtilities.GetDrawingZ(drawLayer);
            float shadowZ  = z - 0.01f;
            float currentY = firstLineY;

            foreach (List <TextCharacter> line in characterLines)
            {
                foreach (var c in line)
                {
                    if (c.Character == null)
                    {
                        SpriteDrawer.DrawGuiSprite(buttonSprite, WriteAreaTopLeft + new Vector2(c.X, currentY - GameConstants.BUTTON_HEIGHT / 4), c.Crop, Z: z);
                    }
                    else
                    {
                        SpriteDrawer.DrawGuiSprite(spriteFont.texture, WriteAreaTopLeft + new Vector2(c.X, currentY), c.Crop, spriteFont.color * Opacity, Z: z);
                        if (DrawShadow)
                        {
                            SpriteDrawer.DrawGuiSprite(spriteFont.texture, WriteAreaTopLeft + new Vector2(c.X, currentY + 1), c.Crop, color: Color.Black * Opacity, Z: shadowZ);
                        }
                    }
                }
                currentY += spriteFont.lineSeparation;
            }
        }
Beispiel #10
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            base.LoadContent();
            // Create a new SpriteBatch, which can be used to draw textures.

            IDrawableEffectOverTime d1 = new DrawableFlashingEffectOverTime(5, 50);
            IDrawableEffectOverTime d4 = new DrawableFlashingEffectOverTime(5, 7);

            d1.SetDrawable(_sprite);
            var d2 = new DrawableFlashingEffectOverTime(2, _sprite2, 3);
            var d3 = new DrawableFlashingEffectOverTime(3, _sprite3, 10);

            d4.SetDrawable(_sprite4);

            d2.Frequency = 9;
            d3.Duration  = 20;
            //NOT WORKING_sprite.AddEffect(drawableFlashingEffectOverTime);
            //NOT WORKING_sprite4.AddEffect( d2);

            SpriteDrawer.AddSprite(_sprite);
            SpriteUpdater.AddToUpdate(_sprite);

            SpriteDrawer.AddSprite(_sprite2);
            SpriteUpdater.AddToUpdate(_sprite2);

            SpriteDrawer.AddSprite(_sprite3);
            SpriteUpdater.AddToUpdate(_sprite3);

            SpriteDrawer.AddSprite(_sprite4);
            SpriteUpdater.AddToUpdate(_sprite4);
            // TODO: use this.Content to load your game content here
        }
        public void Init()
        {
            int i = 0;

            foreach (Direction d in _sprite.Directions)
            {
                DirectionLayout layout = new DirectionLayout(_sprite, d, this);
                layout.OnFrameClick += layout_OnFrameClick;
                layout.Modified     += Modified;
                layout.Zoom          = _zoom;
                DirectionHolder.Controls.Add(layout);
                layout.Location = new Point(2, i++ *(layout.Height + 2) + 2);
            }
            ((DirectionLayout)DirectionHolder.Controls[0]).Select(0);
            _selectedFrame       = ((DirectionLayout)DirectionHolder.Controls[0]).SelectedFrame;
            SpriteDrawer.Content = (Bitmap)_sprite.GetImage((((DirectionLayout)DirectionHolder.Controls[0]).SelectedFrame.Index));
            SpriteDrawer.ZoomIn();
            SpriteDrawer.ZoomIn();
            _tilesetCtrl = new TilesetControl2 {
                Tileset = SphereStudio.Vanilla.Tileset.FromSpriteset(_sprite), CanInsert = false
            };
            _tilesetCtrl.ZoomIn();
            _tilesetCtrl.Anchor        = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
            _tilesetCtrl.TileSelected += _tileset_ctrl_TileSelected;
            _tilesetCtrl.TileAdded    += _tileset_ctrl_TileAdded;
            _tilesetCtrl.TileRemoved  += _tileset_ctrl_TileRemoved;
            ImageHolder.Controls.Add(_tilesetCtrl);
            _tilesetCtrl.Width      = ImageHolder.Width - 6;
            DirectionAnim.Sprite    = _sprite;
            DirectionAnim.Direction = _sprite.Directions[0];
            FrameBaseEditor.Frame   = _sprite.Directions[0].Frames[0];
        }
Beispiel #12
0
 public override void Draw()
 {
     if (visible)
     {
         SpriteDrawer.DrawGuiSprite(Texture, Position - offset, spriteRect, Z: DrawingUtilities.GetDrawingZ(layer));
     }
 }
Beispiel #13
0
    public override GameObject CreateGameObject()
    {
        GameObject   d      = GameObject.Instantiate(Main.unitManager.characrerDrawerPrefab);
        SpriteDrawer drawer = d.AddComponent <SpriteDrawer>();

        return(d);
    }
Beispiel #14
0
 public void Draw()
 {
     SpriteDrawer.DrawUI(background, this.getPos() - view.viewSize / 2, new Vector2(Width, Height), Color.White, Vector2.Zero, 0);
     foreach (UIElement child in children)
     {
         child.Draw();
     }
 }
Beispiel #15
0
 /*-------------*/
 /* CONSTRUCTOR */
 /*-------------*/
 public SpriteUpdater(GameModel game)
 {
     _spriteDrawer    = game.SpriteDrawer;
     _effectsToAdd    = new List <IDrawableEffectOverTime>();
     _effectsToRemove = new List <IDrawableEffectOverTime>();
     _spritesToRemove = new List <ISprite>();
     ToUpdate         = new List <ISprite>();
     game.AddToUpdaters(this);
 }
Beispiel #16
0
    public override IEnumerator CreateGameObjectAsync(LoaderResult r)
    {
        GameObject   d      = GameObject.Instantiate(Main.unitManager.characrerDrawerPrefab);
        SpriteDrawer drawer = d.AddComponent <SpriteDrawer>();

        r.isDone = true;
        r.asset  = d;
        yield return(0);
    }
Beispiel #17
0
        public void DrawUI()
        {
            Writer.Draw();
            SpriteDrawer.DrawGuiSprite(_boxTexture, pos, Z: DrawingUtilities.GetDrawingZ(DrawOrder.TEXTBOX));

            if (_drawBlinky)
            {
                SpriteDrawer.DrawGuiSprite(blinky_box, _blinkyPos, Z: DrawingUtilities.GetDrawingZ(DrawOrder.TEXT));
            }
        }
Beispiel #18
0
 public UIElement(View v)
 {
     view       = v;
     margin     = new Vector2(5, 5);
     background = SpriteDrawer.LoadTexture("PNG\\UI\\metalPanel_blue.png", true, false);
     Width      = 200;
     Height     = 200;
     position   = new Vector2(0, 0);
     children   = new List <UIElement>();
 }
Beispiel #19
0
        public override void Draw()
        {
            base.Draw();

            _label.Draw();

            if (equipped)
            {
                SpriteDrawer.DrawGuiSprite(_equipIcon, Position + new Vector2(12, -1), Z: DrawingUtilities.GetDrawingZ(DrawOrder.EQUIPPED_ICON));
            }
        }
Beispiel #20
0
        public override void Draw()
        {
            if (visible)
            {
                Rectangle srect = sprite.GetRect(_curAnim.Frame);

                SpriteDrawer.DrawGuiSprite(sprite.Tex,
                                           MathUtilities.CreateRectangle(Position.X - offset.X * scale, Position.Y - offset.Y * scale + (int)y_push, srect.Width * scale, srect.Height * scale),
                                           srect,
                                           color * opacity,
                                           rotation,
                                           Z: DrawingUtilities.GetDrawingZ(layer));
            }
        }
Beispiel #21
0
        public void Draw()
        {
            float z       = DrawingUtilities.GetDrawingZ(drawLayer);
            float shadowZ = z - 0.01f;

            foreach (var c in characters)
            {
                SpriteDrawer.DrawGuiSprite(spriteFont.texture, c.Position, c.Crop, spriteFont.color, Z: z);
                if (DrawShadow)
                {
                    SpriteDrawer.DrawGuiSprite(spriteFont.texture, c.Position + new Vector2(0, 1f), c.Crop, color: Color.Black, Z: shadowZ);
                }
            }
        }
Beispiel #22
0
 public void Draw()
 {
     if (texture.Height != 0)
     {
         float recoilX = 0, recoilY = 0;
         recoilX = (float)Math.Cos(parent.rotation + rotaOffset) * Math.Max(currentShootCD - 5, 0);
         recoilY = (float)Math.Sin(parent.rotation + rotaOffset) * Math.Max(currentShootCD - 5, 0);
         SpriteDrawer.Draw(texture,
                           parent.pos + new Vector2((float)Math.Cos(parent.rotation + posOffsetDirection) * posOffsetDistance - recoilX, (float)Math.Sin(parent.rotation + posOffsetDirection) * posOffsetDistance - recoilY),
                           Vector2.One,
                           Color.White,
                           new Vector2(((float)texture.Width) / 2, ((float)texture.Height) / 2),
                           parent.rotation - (float)Math.PI / 2);
     }
 }
Beispiel #23
0
        /// <summary>
        ///
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            SpriteDrawer.Initialize(graphics.GraphicsDevice);

            InventoryManager.ResetValues();
            AchievementManager.ResetValues();

            EntityManager.Initialize();

            base.Initialize();

            _currentState = new PlayState(_camera);
            _currentState.Create();

            _fpsLabel.Initialize();
        }
Beispiel #24
0
        public override void Draw()
        {
            if (visible && exists)
            {
                float draw_y = MapUtilities.GetInGridPosition(Position).Y;
                if (!is_behind_player)
                {
                    float player_y = MapUtilities.GetInGridPosition(_root.Position).Y;
                    draw_y = player_y + 0.5f;
                }
                SpriteDrawer.DrawSprite(Texture, MathUtilities.CreateRectangle(Position.X - offset.X, Position.Y - offset.Y, frameWidth, frameHeight), spriteRect, rotation: rotation, Z: DrawingUtilities.GetDrawingZ(layer, draw_y));

                wide_attack.Draw();
                long_attack.Draw();
            }
        }
Beispiel #25
0
        public void Run()
        {
            PlainCoreSettings.GlfwSearchPath = Path.GetFullPath("../../../../../Native/");
            var window = new RenderWindow();

            var rs       = new TextureResourceSet(window);
            var t        = Texture.FromFile("Example.png");
            var renderer = new SpriteRenderer();
            var dl       = DynamicDisplayList <VertexPositionColorTexture> .Create(renderer);

            var sprites     = new List <SpriteRenderItem>();
            var description = FontGenerator.GenerateFont("OpenSans-Regular.ttf", 40);
            var font        = new Font(description);

            sprites.Add(SpriteDrawer.Draw(t, Color4.White, 0f, 0f));
            sprites.Add(SpriteDrawer.Draw(t, Color4.White, 100f, 100f));
            sprites.Add(SpriteDrawer.Draw(t, Color4.White, 200f, 200f));
            sprites.Add(SpriteDrawer.Draw(t, Color4.White, 400f, 400f));
            var glyphs = font.DrawString("ASDF", 500f, 400f);

            sprites.AddRange(glyphs);
            var indices = SpriteRenderer.GetIndices(sprites.Count);

            renderer.SetRenderItems(sprites.ToArray());

            while (window.IsOpen)
            {
                window.Clear(Color4.Black);

                window.PollEvents();

                renderer.RenderToData((vertices, count, tex) =>
                {
                    dl.SetVertices(vertices);
                    dl.SetIndices(indices, count);
                    rs.Texture = tex;
                    dl.Draw(rs, count);
                });

                window.Display();
            }

            dl.Dispose();
            font.Dispose();
            renderer.Dispose();
            window.Dispose();
        }
Beispiel #26
0
 protected GameModel()
 {
     Graphics = new GraphicsDeviceManager(this);
     Content.RootDirectory = "Content";
     SpriteDrawer          = new SpriteDrawer(this);
     SpriteUpdater         = new SpriteUpdater(this);
     SpriteLoader          = new SpriteLoader(this, Content, SpriteDrawer);
     InputsManager         = new InputsManager(this);
     TextSpriteDrawer      = new TextSpriteDrawer(this);
     TextSpriteUpdater     = new TextSpriteUpdater(this);
     TextSpriteLoader      = new TextSpriteLoader(this, Content, TextSpriteDrawer);
     GeneratorUpdater      = new GeneratorUpdater(this);
     CameraUpdater         = new CameraUpdater(this);
     Cursor            = new Cursor("Cursor2");
     ShapeDrawer       = new ShapeDrawer(this);
     _currentGameState = GameStateType.Game;
 }
Beispiel #27
0
        public virtual void Draw()
        {
            if (visible && exists)
            {
                SpriteDrawer.DrawSprite(Texture,
                                        MathUtilities.CreateRectangle(Position.X - offset.X * scale, Position.Y - offset.Y * scale, frameWidth * scale, frameHeight * scale),
                                        spriteRect,
                                        Color.White * _opacity,
                                        rotation,
                                        _flip,
                                        DrawingUtilities.GetDrawingZ(layer, MapUtilities.GetInGridPosition(Position).Y));

                if (shadow != null)
                {
                    shadow.Draw();
                }
            }
        }
Beispiel #28
0
        protected override void Dispose(bool disposing)
        {
            //GameWorld.Dispose(disposing);

            try
            {
                Game.Device.ClearState();
            }
            catch { }
            KeyboardInput.ReleaseDevice();
            MouseInput.ReleaseDevice();
            PrintText.Dispose();
            EffectManager.Dispose();
            SpriteDrawer.Dispose();
            DeferredRenderer.Dispose();
            SkyDome.Dispose();
            TextureLoader.Dispose();
            PhysicsEngine.Dispose();
        }
Beispiel #29
0
        void DrawFlares(Vector2 lightPosition)
        {
            // Lensflare sprites are positioned at intervals along a line that
            // runs from the 2D light position toward the center of the screen.
            Vector2 screenCenter = Vector2.Zero;
            Vector2 flareVector  = screenCenter - lightPosition;

            foreach (Flare flare in flares)
            {
                SpriteDrawer.SetVisible(flare.id, true);

                // Compute the position of this flare sprite.
                Vector2 flarePosition = lightPosition + flareVector * flare.Position;
                Color4  c             = new SlimDX.Color4(flare.Color);
                c *= new Color4(SkyDome.SunColor);
                c *= occlusionAlpha;

                SpriteDrawer.AddInstance(flare.id, flare.Texture, flarePosition, c, flare.Scale / 2, SpriteBlendMode.Additive);
            }
        }
        private void Window_Initialized(object sender, EventArgs e)
        {
            MainPlayer.Initialize();
            float aspectRatio = (float)view1.Width / (float)view1.Height;

            Camera.CurrentBehavior = Behavior.Spectator;
            //Camera.Perspective((float)Math.PI / 4.0f, aspectRatio, 1.0f, 1000000.0f);
            Camera.Perspective((float)Math.PI / 4.0f, aspectRatio, 1.0f, 4000.0f);
            Camera.Position      = new Vector3(0, 0, 0);
            Camera.Velocity      = new Vector3(40.0f, 40.0f, 40.0f);
            Camera.RotationSpeed = 0.25f;
            WorldTime.Speed      = 0;

            //compile shaders
            List <BaseGameObject> shaders = WorldData.GetObjectsByType(typeof(Shader));

            foreach (Shader s in shaders)
            {
                s.Recompile();
            }



            SpriteDrawer.Initialize();
            DeferredRenderer.Initialize((int)view1.Width, (int)view1.Height);
            DeferredRenderer.RenderHeight = (int)view1.Height;
            DeferredRenderer.RenderWidth  = (int)view1.Width;
            SkyDome.Initialize();
            Rendering.Grid.Initialize();

            view1.OnRenderView += new EventHandler(view1_OnRender);
            view1.D3DScene      = new CellViewer((int)view1.Width, (int)view1.Height);
            view1.OnRenderView += new EventHandler(view1_OnRender);

            this.WindowState = System.Windows.WindowState.Maximized;


            GameData.LoadGameData();
            PhysicsEngine.Initialize();
            ScriptManager.Initialize();
        }
Beispiel #31
0
 /// <summary>
 /// UnloadContent will be called once per game and is the place to unload
 /// all content.
 /// </summary>
 protected override void UnloadContent()
 {
     // TODO: Unload any non ContentManager content here
     spriteDrawer.Dispose();
     spriteDrawer = null;
     spriteManager.Dispose();
     spriteManager = null;
 }
Beispiel #32
0
        private void StartNewGame()
        {
            ship = new Spaceship(Content);
            camera = new SpaceshipCamera(graphics.GraphicsDevice.Viewport, ship);

            int x, y, z, pos_x, pos_y, pos_z;
            Random random = new Random();

            for (int i = 0; i < NUM_ASTEROIDS; ++i)
            {
                x = random.Next(2);
                z = random.Next(2);
                y = random.Next(2);

                pos_x = random.Next(-30, 31);
                pos_y = random.Next(-30, 31);
                pos_z = random.Next(-30, 31);

                asteroids[i] = new Asteroid(Content, new Vector3(x, y, z));
                asteroids[i].Position = new Vector3(pos_x, pos_y, pos_z);
            }

            spriteDrawer = new SpriteDrawer(device, Content);
            spriteManager = new SpriteManager(device, Content);

            spFont = Content.Load<SpriteFont>(@"Arial");
            spBatch = new SpriteBatch(graphics.GraphicsDevice);

            particleSystem = new ParticleSystem(spriteManager);
            jetParticleEffect = new JetParticleEffect(particleSystem, ship);

            points = 0;
            jetParticleEffect.MinXDirection = -0.3f;
            jetParticleEffect.MaxXDirection = 0.3f;
            jetParticleEffect.MinZDirection = 0.6f;
            jetParticleEffect.MaxZDirection = 0.8f;
            jetParticleEffect.MinYDirection = -0.2f;
            jetParticleEffect.MaxYDirection = 0.2f;
            jetParticleEffect.ParticlesPerSecond = 50.0;
            jetParticleEffect.ParticleLifetime = 400.0;
            jetParticleEffect.ParticleSize = 0.5f;
            jetParticleEffect.ParticleSpeed = 0.7f;
            jetParticleEffect.FinalColor = Color.Red;
        }