Exemple #1
0
    //==================================================================================================

    /**
     * @param asWave
     */
    public bool InitAteroid(int asWave)
    {
        scoreType = eScoreObjectTypes.AsteroidStandard;

        // every 5th wave, the asteroid will be faster
        float tmpMove = (asWave / 5) * 0.2f;

        nesMove.Init((4.0f + tmpMove), (2.0f + tmpMove), 5.0f, 0.0f, false);

        collisionDamages = 1000.0f;

        return(true);
    }
    //==================================================================================================

    /**
     * @param enType
     * @param enWave
     *
     */
    public bool InitEnemy(eScoreObjectTypes enType, int enWave)
    {
        bool initialized = true;

        switch (enType)
        {
        case eScoreObjectTypes.EnemyUWingBasic:
        {
            float tmpMove = (enWave / 5) * 0.05f;

            float tmpHeal = 40.0f;
            float tmpEner = 100.0f;

            CoreSystems.Energy.eRechargeTypes tmpERec = CoreSystems.Energy.eRechargeTypes.NoRecharge;
            WeaponSystems.eWeaponTypes        tmpWeap = WeaponSystems.eWeaponTypes.NoWeapon;
            Weapon.eAmmoTypes tmpAmmo = Weapon.eAmmoTypes.NoShoting;

            bool tmpAuto = false;

            if (enWave >= 10)
            {
                tmpHeal = 60.0f;
                tmpERec = CoreSystems.Energy.eRechargeTypes.VerySlow;
                tmpWeap = WeaponSystems.eWeaponTypes.ForwardBasic;
                tmpAmmo = Weapon.eAmmoTypes.Toy;
                tmpAuto = true;
            }
            if (enWave >= 25)
            {
                tmpHeal = 80.0f;
                tmpERec = CoreSystems.Energy.eRechargeTypes.Slow;
                tmpAmmo = Weapon.eAmmoTypes.Basic;
            }

            // init lifes, health, shield, energy and weapons
            initialized = InitEnemy(1, tmpHeal, 0.0f, tmpEner, tmpERec, tmpWeap, tmpAmmo, tmpAuto);
            // init engines
            initialized = nesEngiSys.Init((2.0f + tmpMove), (1.0f + tmpMove), 0.0f, false) && initialized;
        }
        break;

        case eScoreObjectTypes.EnemyUWingMedium:
        {
            float tmpMove = (enWave / 5) * 0.1f;

            float tmpHeal = 60.0f;
            float tmpEner = 100.0f;

            CoreSystems.Energy.eRechargeTypes tmpERec = CoreSystems.Energy.eRechargeTypes.VerySlow;
            WeaponSystems.eWeaponTypes        tmpWeap = WeaponSystems.eWeaponTypes.ForwardBasic;
            Weapon.eAmmoTypes tmpAmmo = Weapon.eAmmoTypes.Toy;

            bool tmpAuto = true;

            if (enWave >= 5)
            {
                tmpAmmo = Weapon.eAmmoTypes.Basic;
            }
            if (enWave >= 10)
            {
                tmpHeal = 80.0f;
                tmpERec = CoreSystems.Energy.eRechargeTypes.Slow;
                tmpWeap = WeaponSystems.eWeaponTypes.ForwardBetter;
                tmpAmmo = Weapon.eAmmoTypes.Toy;
            }
            if (enWave >= 20)
            {
                tmpAmmo = Weapon.eAmmoTypes.Basic;
            }
            if (enWave >= 30)
            {
                tmpHeal = 100.0f;
                tmpERec = CoreSystems.Energy.eRechargeTypes.Medium;
                tmpWeap = WeaponSystems.eWeaponTypes.ForwardAdvanced;
                tmpAmmo = Weapon.eAmmoTypes.Toy;
            }
            if (enWave >= 50)
            {
                tmpAmmo = Weapon.eAmmoTypes.Basic;
            }

            // init lifes, health, shield, energy and weapons
            initialized = InitEnemy(1, tmpHeal, 0.0f, tmpEner, tmpERec, tmpWeap, tmpAmmo, tmpAuto);
            // init engines
            initialized = nesEngiSys.Init((3.0f + tmpMove), (2.0f + tmpMove), 0.0f, false) && initialized;
        }
        break;


        default:
            Debug.LogWarning("ENEMY SETT >> Unknown enemy type");
            initialized = false;
            break;
        }

        if (initialized)
        {
            scoreType = enType;
        }

        nesCoreSys.collisionDamageRate = 1000.0f;

        return(initialized);
    }