コード例 #1
0
    private void Update()
    {
        if (playerStats == null || enemyStats == null)
        {
            return;
        }

        if (Time.time - playerAttackTimestamp >= playerStats.attackSpeed && enemyBeingAttacked)
        {
            int damage = playerStats.damage - enemyStats.armour;
            damage = Mathf.Clamp(damage, 0, int.MaxValue);
            enemyStats.TakeDamage(damage);

            Debug.Log("Enemy takes " + damage + " damage");

            if (damage != 0)
            {
                enemyHealthBarUI.SetHealthBarValue(enemyStats.GetHealthPercentage());
            }

            playerAttackTimestamp = Time.time;
        }
        if (Time.time - enemyAttackTimestamp >= enemyStats.attackSpeed && playerBeingAttacked)
        {
            int damage = enemyStats.damage - playerStats.armour;
            damage = Mathf.Clamp(damage, 0, int.MaxValue);
            playerStats.TakeDamage(damage);

            Debug.Log("Player takes " + damage + " damage");

            if (damage != 0)
            {
                playerHealthBarUI.SetHealthBarValue(playerStats.GetHealthPercentage());
            }

            enemyAttackTimestamp = Time.time;
        }
    }