bullets hit the health
This commit is contained in:
parent
c38c0fb099
commit
6966bf3933
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user