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); } }
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); } }