2
0

EntityView.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package view.entity;
  2. import controller.GameController;
  3. import controller.entity.EntityController;
  4. import view.GamePanel;
  5. import view.popUpMenu.PopupMenu;
  6. import javax.imageio.ImageIO;
  7. import java.awt.*;
  8. import java.awt.image.BufferedImage;
  9. import java.io.IOException;
  10. public abstract class EntityView {
  11. private int width, height;
  12. private EntityController controller;
  13. public double worldX, worldY;
  14. public int speed;
  15. public GamePanel gamePanel;
  16. public EntityController entityController;
  17. public GameController gameController;
  18. private int screenX, screenY;
  19. private PopupMenu popupMenu;
  20. private Runnable onClick;
  21. private BufferedImage image;
  22. public EntityView(int width, int height, GameController controller, EntityController entityController) {
  23. this.screenX = 100;
  24. this.screenY = 100;
  25. this.entityController = entityController;
  26. this.width = width;
  27. this.height = height;
  28. this.gameController = controller;
  29. }
  30. public void setImage(String imagePath) {
  31. try {
  32. image = ImageIO.read(getClass().getResourceAsStream(imagePath));
  33. } catch (IOException e) {
  34. e.printStackTrace();
  35. }
  36. }
  37. public void draw(Graphics2D g2) {
  38. g2.drawRect(10,10,10,10);
  39. }
  40. public void updateCoordinates(int screenX, int screenY) {
  41. this.screenX = screenX;
  42. this.screenY = screenY;
  43. }
  44. public PopupMenu getPopupMenu() {
  45. return popupMenu;
  46. }
  47. public void setOnClick(Runnable onClick) {
  48. System.out.println("No onclick set!");
  49. }
  50. public void setPopupOnClick(PopupMenu popup) {
  51. this.popupMenu = popup;
  52. }
  53. public void runOnClick() {
  54. }
  55. public void drawPopUp(int screenXClick, int screenYClick, Graphics2D g2) {
  56. popupMenu.draw(screenXClick, screenYClick, g2);
  57. }
  58. public void drawSprite(Graphics2D g2){
  59. g2.drawImage(image, screenX, screenY, gameController.getView().tileSize, gameController.getView().tileSize, null);
  60. }
  61. }