コード例 #1
0
ファイル: Collider.cs プロジェクト: aacitelli/Legend-of-Zelda
        public Collider()
        {
            response = new BaseCollisionResponse(entity);
            ColliderSystem.Register(this);

            colliderBounds = new SpriteColliderBounds(this);
        }
コード例 #2
0
        protected override void Update(GameTime gameTime)
        {
            //Console.Log(IsLoaded);

            if (!GameContent.IsLoaded)
            {
                //Console.Log("loading");
                base.Update(gameTime);
                return;
            }

            //Update KeyboardController for Commands
            keyboard.Update();

            Input.GetState();

            // Game implemented using Entity-Component-System,
            // Systems store instances of certain types of Components
            TransformSystem.Update(gameTime);
            BehaviorScriptSystem.Update(gameTime);
            ColliderSystem.Update(gameTime);
            ColliderSystem.Check();
            SpriteSystem.Update(gameTime);
            TextSystem.Update(gameTime);
            //Sound.Update(gameTime);

            base.Update(gameTime);
        }
コード例 #3
0
ファイル: Game1.cs プロジェクト: aacitelli/Legend-of-Zelda
        protected override void Draw(GameTime gameTime)
        {
            if (gameTime.TotalGameTime.Seconds > _lastTime)
            {
                _lastTime    = gameTime.TotalGameTime.Seconds;
                frame        = frameCounter;
                frameCounter = 0;
            }
            frameCounter++;


            if (!GameContent.IsLoaded)
            {
                GraphicsDevice.Clear(Color.CornflowerBlue);
                if (GameContent.IsBaseLoaded)
                {
                    var size = GameContent.Font.hudFont.MeasureString("Click on game area to start it!");

                    spriteBatch.Begin();

                    if (!GameContent.IsLoaded)
                    {
                        spriteBatch.DrawString(GameContent.Font.hudFont,
                                               "Zelda is loading: " + GameContent.Counter + " / " + GameContent.Max,
                                               new Vector2(20, 440 - size.Y - 10),
                                               Color.White,
                                               0f,
                                               Vector2.Zero,
                                               .5f,
                                               SpriteEffects.None,
                                               1f);
                        //spriteBatch.Draw(GameContent.Texture.Pixel, new Rectangle(20, 440, (int)(760 * (GameContent.Counter / (float)GameContent.Max)), 20), Color.White);
                    }

                    spriteBatch.End();
                }

                base.Draw(gameTime);
                return;
            }

            GraphicsDevice.Clear(Color.IndianRed);

            spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, SamplerState.PointClamp);

            SpriteSystem.Draw(spriteBatch);   // Draw all Sprite components
            ColliderSystem.Draw(spriteBatch); // Draw all Collider debug boxes
            TextSystem.Draw(spriteBatch);     // Draw all Text components

            if (LevelManager.showFPS)
            {
                DrawShadowedString(GameContent.Font.hudFont, "FPS: " + frame, new Vector2(440f, 20f), Color.Yellow);
            }

            spriteBatch.End();

            base.Draw(gameTime);
        }
コード例 #4
0
        // Create player system and accompanying components.
        private BallSystem CreateSystem()
        {
            SubWorld       world          = new BreakoutWorld(0);
            BallSystem     ballSystem     = new BallSystem(world);
            ColliderSystem colliderSystem = new ColliderSystem(world);

            world.AddSystem(new PowerUpSystem(world));
            world.AddSystem(colliderSystem);
            world.AddSystem(ballSystem);

            return(ballSystem);
        }
コード例 #5
0
        protected override void UnloadContent()
        {
            Content.Unload();

            // We need to clear all our components to reset state; If the program is reset they will be created fresh by the new Link() instance
            TransformSystem.Clear();
            ColliderSystem.Clear();
            BehaviorScriptSystem.Clear();
            SpriteSystem.Clear();
            TextSystem.Clear();

            Scene.Clear();
        }
コード例 #6
0
ファイル: Game.cs プロジェクト: perssondan/platformtest
        public Game(Windows.UI.Xaml.Window current)
        {
            _colliderSystem            = new ColliderSystem(_eventSystem);
            _moveSystem                = new MoveSystem();
            _physicsSystem             = new PhysicsSystem(_eventSystem);
            _inputSystem               = new InputSystem(_eventSystem);
            _graphicsSystem            = new GraphicsSystem(_eventSystem);
            _particleSystem            = new ParticleSystem();
            _playerSystem              = new PlayerSystem(_eventSystem);
            _dustParticleEmitterSystem = new DustParticleEmitterSystem(_eventSystem, _dustEntityFactory);
            _particleEmitterSystem     = new ParticleEmitterSystem(_dustEntityFactory);

            _inputSystem.Current = current;
        }
コード例 #7
0
        /// <summary>
        /// Set up the main Player entity.
        /// </summary>
        private void CreatePlayer()
        {
            // Get Player and Collider systems.
            PlayerSystem   playerSystem   = GetSystem <PlayerSystem>();
            ColliderSystem colliderSystem = GetSystem <ColliderSystem>();

            // Create Player Entity and Components.
            GameEntity entity   = new GameEntity("Player", new Vector2(300, 680), "Player");
            Player     player   = new Player(entity);
            Collider   collider = new Collider(entity, 256, 32, true);

            // Add them to the systems.
            playerSystem.Add(player);
            colliderSystem.Add(collider);
        }
コード例 #8
0
ファイル: Level.cs プロジェクト: aacitelli/Legend-of-Zelda
 public void Destroy()
 {
     foreach (var transform in Root.GetComponent <Transform>().Children)
     {
         Entity entity = transform.entity;
         if (entity != null)
         {
             Entity.Destroy(entity);
         }
     }
     Root.GetComponent <Transform>().Children.Clear();
     TransformSystem.CleanUp();
     ColliderSystem.CleanUp();
     BehaviorScriptSystem.CleanUp();
     SpriteSystem.CleanUp();
 }
コード例 #9
0
        /// <summary>
        /// Create the initial Ball.
        /// </summary>
        private void CreateBall()
        {
            // Get Ball and Collider systems.
            BallSystem     ballSystem     = GetSystem <BallSystem>();
            ColliderSystem colliderSystem = GetSystem <ColliderSystem>();

            // Create Ball Entity and Components.
            GameEntity entity = new GameEntity("Ball", new Vector2(300, 600), "Ball");
            Ball       ball   = new Ball(entity)
            {
                Direction = new Vector2(133, 34)
            };
            Collider collider = new Collider(entity, 32, 32, true);

            // Add them to the systems.
            ballSystem.Add(ball);
            colliderSystem.Add(collider);
        }
コード例 #10
0
ファイル: Collider.cs プロジェクト: MH15/blog-examples
        // implementation of a Collider component

        public Collider()
        {
            ColliderSystem.Register(this);
        }
コード例 #11
0
 public void Update(float gameTime)
 {
     TransformSystem.Update(gameTime);
     SpriteSystem.Update(gameTime);
     ColliderSystem.Update(gameTime);
 }