Example #1
0
    // Start is called before the first frame update
    IEnumerator Start()
    {
        _rb     = GetComponent <Rigidbody>();
        _config = GetComponent <IConfig>().DefaultConfig as CollectibleConfig;
        yield return(new WaitUntil(() => _config != null));

        ConfigureMovement();
    }
Example #2
0
    private ConfigurationData()
    {
        // set default values for level configs
        levelsConfig = new LevelConfig[2];
        LevelConfig levelConfig = new LevelConfig("Level01");

        // set default values for spaceships configs
        SpaceShipConfig[] spaceShipsConfig = new SpaceShipConfig[2];

        // set default values for player configs
        PlayerShipConfig playerShipConfig = new PlayerShipConfig("Player", "Player");

        playerShipConfig.health   = new HealthConfig(100);
        playerShipConfig.movement = new MovementConfig(80);
        playerShipConfig.attack   = new AttackConfig(200, 0.5f);
        // set default values for player bolt config
        BoltConfig playerBoltConfig = new BoltConfig("Player Bolt", "Bolt");

        playerBoltConfig.movement   = new MovementConfig(100);
        playerBoltConfig.attack     = new AttackConfig(50);
        playerShipConfig.boltConfig = playerBoltConfig;

        spaceShipsConfig.SetValue(playerShipConfig, 0);

        // set default values for enemy config
        EnemyShipConfig enemyShipConfig = new EnemyShipConfig("Enemy", "SpaceItems/Enemy");

        enemyShipConfig.health     = new HealthConfig(50);
        enemyShipConfig.movement   = new MovementConfig(60, 1.0f, 10.0f, 30.0f);
        enemyShipConfig.attack     = new AttackConfig(70, 1.0f);
        enemyShipConfig.scoreValue = 150;
        // set default values for enemy bolt config
        BoltConfig enemyBoltConfig = new BoltConfig("Enemy Bolt", "Bolt");

        enemyBoltConfig.movement   = new MovementConfig(90);
        enemyBoltConfig.attack     = new AttackConfig(30);
        enemyShipConfig.boltConfig = enemyBoltConfig;

        spaceShipsConfig.SetValue(enemyShipConfig, 1);

        levelConfig.spaceShipsConfig = spaceShipsConfig;

        // set default values for obstacles
        ObstacleConfig[] obstaclesConfig = new ObstacleConfig[1];

        // set default values for asteroid config
        ObstacleConfig asteroidConfig = new ObstacleConfig("Red Asteroid", "SpaceItems/Red Asteroid");

        asteroidConfig.health     = new HealthConfig(100);
        asteroidConfig.movement   = new MovementConfig(60, 0.25f);
        asteroidConfig.scoreValue = 100;
        asteroidConfig.attack     = new AttackConfig(1000);
        obstaclesConfig.SetValue(asteroidConfig, 0);

        levelConfig.obstaclesConfig = obstaclesConfig;

        // set default values for collectible config
        CollectibleConfig[] collectiblesConfig = new CollectibleConfig[2];
        // collectibleConfig.speed = 55;
        collectiblesConfig[0]          = new CollectibleConfig("Health Powerup", "SpaceItems/Health Powerup");
        collectiblesConfig[0].movement = new MovementConfig(55);
        collectiblesConfig.SetValue(new CollectibleConfig("FireRate Powerup", "SpaceItems/FireRate Powerup"), 1);
        collectiblesConfig[1].movement = new MovementConfig(60);

        levelConfig.collectiblesConfig = collectiblesConfig;


        // set default values for wave config
        WaveConfig waveConfig = new WaveConfig();

        waveConfig.startWait         = 0.5f;
        waveConfig.spawnWaveWait     = 3.0f;
        waveConfig.spawnMessageDelay = 1.0f;
        waveConfig.spawnItemWait     = 1.0f;
        waveConfig.itemsNumber       = 5;

        levelConfig.waveConfig = waveConfig;
        levelsConfig.SetValue(levelConfig, 0);
    }