public Collider() { response = new BaseCollisionResponse(entity); ColliderSystem.Register(this); colliderBounds = new SpriteColliderBounds(this); }
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); }
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); }
// 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); }
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(); }
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; }
/// <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); }
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(); }
/// <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); }
// implementation of a Collider component public Collider() { ColliderSystem.Register(this); }
public void Update(float gameTime) { TransformSystem.Update(gameTime); SpriteSystem.Update(gameTime); ColliderSystem.Update(gameTime); }