public void AddUpdateSystem(Systems.System system)
        {
            EntityManager entityManager = EntityManager.Instance();

            updateSystemList.Add(system);
            system.GetEntities(entityManager);
        }
예제 #2
0
        public GamePlayState(GameState gameState)
        {
            _gameState = gameState;

            // setup components
            _gameState = new GameState();

            // setup systems
            var systems = new Systems.System[]
            {
                new PlayerInputSystem("PlayerInput", _gameState),
                new MovementSystem("Movement", _gameState),
                new ClampToViewportSystem("ClampToViewport", _gameState),
                new DestroyIfOutsideViewportSystem("DestroyIfOutsideViewport", _gameState),
                new SetBoundingBoxSystem("SetBoundingBox", _gameState),
                new PlayerFireProjectileSystem("FireProjectile", _gameState),
                new EnemyFireProjectileSystem("EnemyFireProjectile", _gameState),
                new EnemyChaseSystem("EnemyChase", _gameState),
                new AnimationSystem("Animation", _gameState),
                new PlayerCollisionDetectionSystem("PlayerCollisionDetection", _gameState),
                new ProjectileCollisionDetectionSystem("ProjectileCollisionDetection", _gameState),
                new RestorePlayerSystem("KillPlayer", _gameState),
                new CollisionResolutionSystem("CollisionResolution", _gameState),
                new EnemySpawnSystem("EnemySpawn", _gameState),
                new IsGameOverSystem("IsGameOver", _gameState),
                new RenderingSystem("Rendering", _gameState)
            };

            _systems = new Systems.Systems(_gameState, systems);

            _hud = new Hud(_gameState);

            _soundEffectPlayer = new SoundEffectPlayer();
            _renderer          = new Renderer();

            PlayerCreator.Create(_gameState, 0, 3);
            EnemySpawnerCreator.Create(_gameState);
        }