Exemple #1
0
    public void SetDiceKey(int index)
    {
        EnemyBattleBase enemy = enemiesGO[index].GetComponent <EnemyBattleBase>();

        diceKeyNumbers[index] = enemy.GetDiceKeyNumber();


        if (enemy.GetInactiveStatus())
        {
            diceKeys[index].SetInactive(true, enemy.GetDiceKeyNumber());
            diceKeyImages[index].sprite = diceSpritesInactive[diceKeyNumbers[index] - 1];
        }
        else if (enemy.GetGoldStatus())
        {
            diceKeys[index].SetInactive(false, enemy.GetDiceKeyNumber());
            diceKeys[index].SetGold(true, enemy.GetDiceKeyNumber());
            diceKeyImages[index].sprite = diceSpritesGold[diceKeyNumbers[index] - 1];
        }
        else if (enemy.GetPlatinumStatus())
        {
            diceKeys[index].SetInactive(false, enemy.GetDiceKeyNumber());
            diceKeys[index].SetPlatinum(true, enemy.GetDiceKeyNumber());
            diceKeyImages[index].sprite = diceSpritesPlatinum[diceKeyNumbers[index] - 1];
        }
        else
        {
            diceKeys[index].SetInactive(false, enemy.GetDiceKeyNumber());
            diceKeyImages[index].sprite = diceSprites[diceKeyNumbers[index] - 1];
        }
    }
    private void SuccessBlock(EnemyBattleBase enemy)
    {
        int reduction = 1;

        foreach (AbilityBase ability in battleSystem.battleAbilites)
        {
            reduction += ability.Block();
        }

        TakeDamage(enemy.GetDamageAmount() - reduction);
        //ResetAction();
    }
    void OnTriggerEnter2D(Collider2D other)
    {
        EnemyBattleBase collidingEnemy = null;

        //was an enemy
        if ((collidingEnemy = other.gameObject.GetComponent <EnemyBattleBase>()) != null)
        {
            if (successBlock)
            {
                SuccessBlock(collidingEnemy);
            }
            else if (successDodge)
            {
                SuccessDodge();
            }
            else
            {
                TakeDamage(collidingEnemy.GetDamageAmount());
                collidingEnemy.CollideWithPlayer();
            }
        }
        //was a projectile
        else if ((collidingEnemy = other.gameObject.GetComponentInParent <EnemyBattleBase>()) != null)
        {
            if (successBlock)
            {
                SuccessBlock(collidingEnemy);
            }
            else if (successDodge)
            {
                SuccessDodge();
            }
            else
            {
                TakeDamage(collidingEnemy.GetDamageAmount());
            }

            //Destroy(other.gameObject);
        }
        else
        {
            Debug.Log("No damage component found!");
        }
        isInsideBlock = false;
        isInsideDodge = false;
    }