예제 #1
0
    Systems createSystems(Pool pool)
    {
        #if (UNITY_EDITOR)
        return new DebugSystems()
            .Add(pool.CreateTestSystem())
        #else
        return new Systems()
        #endif

                // Settings stuff
                .Add(pool.CreateDifficultyControllerSystem())

                // Initialize
                .Add(pool.CreateCreateDifficultySystem())
                .Add(pool.CreateCreateSettingsSystem())
                .Add(pool.CreateCreatePlayerSystem())
                .Add(pool.CreateCreateEnemySystem())
                .Add(pool.CreateWeaponSystem())
                .Add(pool.CreateCreateStaticElementsSystem())
                .Add(pool.CreateCreateCameraSystem())
                .Add(pool.CreateCreateLevelSystem())

                // Spawners
                .Add(pool.CreateSpawnMissileSystem())
                .Add(pool.CreateMultipleMissileSpawnerSystem())
                .Add(pool.CreateCircleMissileSpawnerSystem())
                .Add(pool.CreateCircleMissileRotatedSpawnerSystem())
                .Add(pool.CreateHomeMissileSpawnerSystem())
                .Add(pool.CreateFindTargetSystem())
                .Add(pool.CreateHomeMissileSystem())
                .Add(pool.CreateEnemySpawnerSystem())

            .Add(pool.CreateTimeSystem())

            // AddGO
            .Add(pool.CreateAddGameObjectSystem())

            // Input
            .Add(pool.CreateCreateMouseInputSystem())
            .Add(pool.CreateProcessInputSystem())

                // Input player
                .Add(pool.CreatePlayerInputSystem())

                // magnet
                .Add(pool.CreateMagnetSystem())

                // AI
                .Add(pool.CreateFirstBossSystem())

            // Physics
            .Add(pool.CreateAccelerationSystem())
            .Add(pool.CreateVelocitySystem())
            .Add(pool.CreateCollisionSystem())
            .Add(pool.CreatePositionSystem())

                // laser
                .Add(pool.CreateLaserSpawnerSystem())
                .Add(pool.CreateLaserSystem())

                .Add(pool.CreateRemoveOutOfViewGOSystem())
                // Physics not so much
                .Add(pool.CreateSnapPositionSystem())
                .Add(pool.CreateFaceDirectionSystem())

                // Object
                .Add(pool.CreateHealthSystem())
                .Add(pool.CreateDeadPlayerSystem())
                .Add(pool.CreateAlphaSystem())

                // OnDeath Actions
                .Add(pool.CreateBonusOnDeathSystem())
                .Add(pool.CreateCameraShakeOnDeathSystem())
                .Add(pool.CreateParticlesOnDeathSystem())
                .Add(pool.CreateSoundOnDeathSystem())

                // Particle
                .Add(pool.CreateParticleSpawnSystem())

                // bonus
                .Add(pool.CreateActivateBonusSystem())
                .Add(pool.CreateSpeedBonusSystem())

            .Add(pool.CreateRelativePositionSystem())

            // PositionGO
            .Add(pool.CreatePositionGameObjectSystem())
            // RemoveGO
            .Add(pool.CreateRemoveGameObjectSystem())

            // Camera
            .Add(pool.CreateRegularCameraSystem())
            .Add(pool.CreateSmoothCameraSystem())
                .Add(pool.CreateCameraShakeSystem())

            // Stats
            .Add(pool.CreateGameStatsSystem())

            // Sound
            .Add(pool.CreateSoundSystem())

            // Destroy
            .Add(pool.CreateDestroyEntityDelayedSystem())
            .Add(pool.CreateDestroyEntitySystem())

            .Add(pool.CreateRestartGameSystem())
            .Add(pool.CreatePauseGameSystem())
            .Add(pool.CreateSlowGameSystem());
    }