geölakdsjföalj

master
Jonathan Hager 6 years ago
parent aadc0d8516
commit f8fcd35e24

@ -135,30 +135,31 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
boolean overlaps = false;
boolean delete = false;
if(Intersector.overlaps(tempObject.getCollisionSprite(), playerSprite)){
overlaps = true;
if(d.getCurrentEntities()[i].getId() == 2){
if(d.getCurrentEntities()[i].getId() == 2){
if(Intersector.overlaps(tempObject.getCollisionSprite(), gs.getPlayer().getFullCollisionSprite())){
overlaps = true;
delete = true;
d.getCurrentEntities()[i].attack(d.getPlayer());
}
else{
if(d.getCurrentEntities()[i].getId() != 0){
switch(gs.entitySprites[i].getAttackState()){
case 0:
gs.entitySprites[i].startAttack();
break;
case 1:
break;
case 2:
d.getCurrentEntities()[i].attack(d.getPlayer());
gs.entitySprites[i].resetAttackState();
break;
default:
}
}
else if(Intersector.overlaps(tempObject.getCollisionSprite(), playerSprite)){
overlaps = true;
if(d.getCurrentEntities()[i].getId() != 0){
switch(gs.entitySprites[i].getAttackState()){
case 0:
gs.entitySprites[i].startAttack();
break;
case 1:
break;
case 2:
d.getCurrentEntities()[i].attack(d.getPlayer());
gs.entitySprites[i].resetAttackState();
break;
default:
}
}
}
else{
for(RectangleMapObject rectangleObject : mapObjects.getByType(RectangleMapObject.class)){
@ -187,6 +188,10 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
}
if(gs.entitySprites[i].getAttackState() == 2 && d.getCurrentEntities()[i].getId() != 0){
gs.entitySprites[i].resetAttackState();
}
if(overlaps){
d.getCurrentEntities()[i].setxPos(x);
d.getCurrentEntities()[i].setyPos(y);

@ -43,7 +43,7 @@ public class EntitySprite {
collisionSprite = new Rectangle(0, 0, 32, 16);
}
fullCollisionSprite = sprites[0].getBoundingRectangle();
this.fullCollisionSprite = sprites[0].getBoundingRectangle();
}
public void updateAnimation(Entity e){
@ -134,6 +134,7 @@ public class EntitySprite {
public void updateCollision(int xPos, int yPos){
collisionSprite.setPosition(xPos, yPos);
getFullCollisionSprite().setPosition(xPos, yPos);
}
public void updateCollisionX(int xPos){
collisionSprite.setX(xPos);

Loading…
Cancel
Save