public void burnEnemy(EnemyObject_Abstract enemyToBurn_class, Transform enemyToBurn_transform)
    {
        burningEnemy_class     = enemyToBurn_class;
        burningEnemy_transform = enemyToBurn_transform;

        burnTimer_current = burnTimer_max;
        anEnemyIsBurning  = true;
    }
    private void expandArray()
    {
        EnemyObject_Abstract[] newArray_class = new EnemyObject_Abstract[enemyArray_class.Length + 4];

        for (int index = 0; index < firstOpenSlotInArray; index++)
        {
            newArray_class[index] = enemyArray_class[index];
        }

        enemyArray_class = newArray_class;
    }
示例#3
0
    private void expandArray()
    {
        GameObject[]           newArray_object = new GameObject[enemyArray_object.Length * 2];
        EnemyObject_Abstract[] newArray_class  = new EnemyObject_Abstract[enemyArray_object.Length * 2];

        for (int index = 0; index < firstOpenSlotInArray; index++)
        {
            newArray_object[index] = enemyArray_object[index];
            newArray_class[index]  = enemyArray_class[index];
        }

        enemyArray_object = newArray_object;
        enemyArray_class  = newArray_class;
    }
    public void addEnemyToExplosionArray(EnemyObject_Abstract enemyToDamage, Vector3 enemyCenter, Vector3 explosionCenter)
    {
        // add hte enemy to the array, and possibly expand the array if needed.
        if (firstOpenSlotInArray >= enemyArray_class.Length)
        {
            expandArray();
        }

        enemyArray_class[firstOpenSlotInArray] = enemyToDamage;
        enemyArray_class[firstOpenSlotInArray].setKnockbackVector(enemyCenter - explosionCenter, cannonData.getKnockback_StartingAmount());

        firstOpenSlotInArray++;

        // Play a bonk animation,
        cannonBonkManager.placeNewBonk(enemyCenter, cannonData.getBonkSize(), true);
    }
    public void advanceBurningProcess()
    {
        if (anEnemyIsBurning && burnTimer_current > 0)
        {
            burnTimer_current--;

            if (burnTimer_current == 0)
            {
                if (burningEnemy_class.getShouldBeRemoved())
                {
                    burningEnemy_class     = null;
                    burningEnemy_transform = null;
                    anEnemyIsBurning       = false;
                    return;
                }

                // burn the enemy
                burningEnemy_class.cannonballHitsEnemy(burnDamage);
                cannonBonkManager.placeNewBonk_specificTint(burningEnemy_transform.position, color_bonkTint, burnBonkScale);

                burnTimer_current = burnTimer_max;
            }
        }
    }