bullets hit the health

This commit is contained in:
Mike Schwörer 2015-09-18 18:44:04 +02:00
parent c38c0fb099
commit 6966bf3933
4 changed files with 10 additions and 9 deletions

View File

@ -5,7 +5,6 @@ import com.badlogic.gdx.Input.Keys;
import de.samdev.absgdx.framework.entities.Entity;
import de.samdev.absgdx.framework.entities.colliosiondetection.CollisionGeometryOwner;
import de.samdev.absgdx.framework.entities.colliosiondetection.geometries.CollisionCircle;
import de.samdev.absgdx.framework.entities.colliosiondetection.geometries.CollisionGeometry;
import de.samdev.absgdx.framework.layer.GameLayer;
import de.samdev.cannonshooter.Textures;
@ -13,6 +12,8 @@ import de.samdev.cannonshooter.ZLayers;
import de.samdev.cannonshooter.teams.Team;
public class Cannon extends Entity {
private static final float HEALTH_REGEN_PER_HIT = 0.2f;
public Team team;
private CannonBarrel barrel;
@ -98,11 +99,13 @@ public class Cannon extends Entity {
return false;
}
public void onBulletHit(CannonBullet bullet, Team hit_team) {
public void onBulletHit(Team hit_team) {
if (hit_team.isNeutral) return;
if (hit_team == team) {
health = Math.min(1, health + 0.01f);
health = Math.min(1, health + HEALTH_REGEN_PER_HIT);
} else {
health = Math.max(0, health - 0.01f);
health = Math.max(0, health - HEALTH_REGEN_PER_HIT);
}
}
}

View File

@ -7,7 +7,6 @@ import com.badlogic.gdx.math.Vector2;
import de.samdev.absgdx.framework.entities.Entity;
import de.samdev.absgdx.framework.entities.colliosiondetection.CollisionGeometryOwner;
import de.samdev.absgdx.framework.entities.colliosiondetection.geometries.CollisionBox;
import de.samdev.absgdx.framework.entities.colliosiondetection.geometries.CollisionGeometry;
import de.samdev.absgdx.framework.layer.GameLayer;
import de.samdev.cannonshooter.Textures;
@ -89,7 +88,7 @@ public class CannonBarrel extends Entity {
owner.addEntity(bullet);
loaded = true;
}
} else {
} else if (cannon.health <= 0.5) {
charge -= UNCHARGE_SPEED * delta;
if (charge < 0)

View File

@ -96,7 +96,7 @@ public class CannonBullet extends Entity {
CannonBullet colliderBullet = (CannonBullet)passiveCollider;
if (colliderBullet.inBarrel) {
colliderBullet.cannon.onBulletHit(this, this.team);
colliderBullet.cannon.onBulletHit(this.team);
alive = false;
} else {
@ -113,7 +113,7 @@ public class CannonBullet extends Entity {
if (passiveCollider instanceof Cannon) {
Cannon cannon = (Cannon)passiveCollider;
cannon.onBulletHit(this, this.team);
cannon.onBulletHit(this.team);
alive = false;
}

View File

@ -1,6 +1,5 @@
package de.samdev.cannonshooter.tiles;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import de.samdev.absgdx.framework.entities.colliosiondetection.CollisionGeometryOwner;