示例#1
0
    private void Damage(float damage)
    {
        currentHealth -= damage;
        if (currentHealth <= 0)
        {
            dyingStartTime = Time.time;
        }
        Debug.Log("Player hit, current health: " + currentHealth);
        healthbar.SetHealth(currentHealth >= 0 ? currentHealth : 0);
        Vector2 pos = new Vector2(transform.position.x, transform.position.y + 3); // Small offset looks better

        particles.PlayAtPosition(pos);
    }
示例#2
0
    private void Damage(float[] attackDetails)
    {
        currentHealth  -= attackDetails[0];
        damageDirection = (int)attackDetails[1];

        if (currentHealth > 0.0f && !beingDragged)
        {
            SwitchState(State.KNOCKBACK);
        }
        else if (currentHealth <= 0.0f)
        {
            SwitchState(State.DEAD);
        }

        particles.PlayAtPosition(body.position);
    }