コード例 #1
0
    private void EnemyAttacking(SOEnemy enemy)
    {
        int damage = ReturnEnemyDamage();

        Debug.Log("nj2");

        if (enemy.enemyType == _playerArmor.ProtectionType)
        {
            healthManager.PlayerLoseAdditionalArmor(damage);
        }
        else
        {
            Debug.Log("nj3");
            healthManager.PlayerLoseHealth(damage);
            if (healthManager.PlayerDied)
            {
                _shouldBattle = false;
                Debug.Log("umro si frende");
            }
            showDamage.ShowPlayerDamage(damage);
        }


        if (enemy.ShouldStun)
        {
            StunChanceNumber();
            if (_randomStunChanceNumber <= _enemy.StunChance)
            {
                PlayerIsStunned = true;
            }
        }
    }
コード例 #2
0
    private void PlayerAttacking(SOEnemy enemy)
    {
        int damage           = ReturnPlayerDamage();
        int additionalDamage = ReturnPlayerAdditionalDamage();

        if (enemy.enemyType == _playerWeapon.VsType)
        {
            healthManager.EnemyLoseHealth(enemy, additionalDamage);
            showDamage.ShowEnemyDamage(additionalDamage);
        }
        else
        {
            healthManager.EnemyLoseHealth(enemy, damage);
            if (healthManager.EnemyDied)
            {
                OnBattleEnd();
            }
            showDamage.ShowEnemyDamage(damage);
        }
        if (_playerWeapon.ShouldStun)
        {
            StunChanceNumber();
            if (_randomStunChanceNumber <= _playerWeapon.StunChance)
            {
                EnemyIsStunned = true;
                Debug.Log("enemy stunned");
            }
        }
    }
コード例 #3
0
    private void Battle()
    {
        _playerWeapon = Pool.pool.WeaponOnPlayer;
        _playerArmor  = Pool.pool.ArmorOnPlayer;
        _enemy        = Pool.pool.EnemyInBattle;

        _shouldBattle = true;
    }
コード例 #4
0
    public void ChoosingItem(SOEnemy defeatedEnemy)
    {
        _itemIndex = Random.Range(0, ItemsAbleToGet.Length);

        SOItem newItem = ScriptableObject.Instantiate(ItemsAbleToGet[_itemIndex]) as SOItem;

        inventory.AddItemInInventory(newItem);
    }
コード例 #5
0
 public void EnemyLoseHealth(SOEnemy enemy, int amount)
 {
     enemy.Health -= amount;
     if (enemy.Health <= 0)
     {
         Debug.Log("Enemy umire");
         EnemyDied = true;
     }
 }
コード例 #6
0
    public void GenerateEnemy()
    {
        SOEnemy rightEnemy = ScriptableObject.Instantiate(Pool.pool.AllEnemiesPrefabs[Random.Range(0, Pool.pool.AllEnemiesPrefabs.Count)]);
        SOEnemy leftEnemy  = ScriptableObject.Instantiate(Pool.pool.AllEnemiesPrefabs[Random.Range(0, Pool.pool.AllEnemiesPrefabs.Count)]);

        rightEnemy.AttackSpeed += rightEnemy.AttackSpeed + rightEnemy.AttackSpeedPerLevel * (float)Pool.pool.EnemyLevel;
        rightEnemy.Damage      += rightEnemy.Damage + rightEnemy.DamagePerLevel * Pool.pool.EnemyLevel;
        rightEnemy.Health      += rightEnemy.Health + rightEnemy.HealthPerLevel * Pool.pool.EnemyLevel;

        leftEnemy.AttackSpeed += leftEnemy.AttackSpeed + leftEnemy.AttackSpeedPerLevel * Pool.pool.EnemyLevel;
        leftEnemy.Damage      += leftEnemy.Damage + leftEnemy.DamagePerLevel * Pool.pool.EnemyLevel;
        leftEnemy.Health      += leftEnemy.Health + leftEnemy.HealthPerLevel * Pool.pool.EnemyLevel;

        rightEnemy = RightEnemy;
        leftEnemy  = LeftEnemy;

        Pool.pool.EnemyInBattle = RightEnemy;
    }
コード例 #7
0
    public void ChoosingGold(SOEnemy defeatedEnemy)
    {
        int amountOfLoot = defeatedEnemy.Level * Random.Range(GoldPerEnemyLvlMin, GoldPerEnemyLvlMax);

        GameManager.gm.ChangeNumberOfGold(amountOfLoot);
    }