Example #1
0
    private float GetFactor(DamageColliders collider)
    {
        switch (collider)
        {
        case DamageColliders.FRONT:
        case DamageColliders.FRONTR:
        case DamageColliders.FRONTL:
            return(1);

        case DamageColliders.TOP:
            return(4);

        case DamageColliders.RIGHT:
        case DamageColliders.LEFT:
            return(3);

        case DamageColliders.BACK:
            return(2);

        case DamageColliders.BOTTOM:
            return(5);

        default:
            return(0);
        }
    }
Example #2
0
    public void Hit(DamageColliders collider, float deltaMomentum)
    {
        // Calculamos o dano
        float damage = deltaMomentum * GetFactor(collider) * 0.0001f;

        //print ("Delta momentum: " + deltaMomentum + ", Damage: " + damage);

        remainingHealthPoints -= damage;

        if (remainingHealthPoints <= 0)
        {
            guiTexture.pixelInset = new Rect(guiTexture.pixelInset.x, guiTexture.pixelInset.y,
                                             0, guiTexture.pixelInset.height);
            //Sinalizar morte
            AlertDeath();
        }
        else
        {
            guiTexture.pixelInset = new Rect(guiTexture.pixelInset.x, guiTexture.pixelInset.y,
                                             remainingHealthPoints * initialHealthBarWidth / initialHealthPoints,
                                             guiTexture.pixelInset.height);
        }
    }