source: lost-haven/main/Item.java@ b2d7893

Last change on this file since b2d7893 was b2d7893, checked in by Dmitry Portnoy <dmp1488@…>, 4 years ago

Change all file paths to work from inside a JAR and update the makefile to correctly build the project

  • Property mode set to 100644
File size: 1.7 KB
Line 
1package main;
2
3import java.awt.Graphics;
4import java.awt.image.BufferedImage;
5import javax.imageio.ImageIO;
6import java.io.IOException;
7
8public class Item {
9
10 private String name;
11 private ItemType type;
12 private BufferedImage img;
13 private Point loc;
14 private String description;
15
16 public Item(String name, ItemType type, String strImg) {
17 this.name = name;
18 this.type = type;
19 this.loc = null;
20 try {
21 this.img = ImageIO.read(getClass().getResource("/images/" + strImg));
22 } catch (IOException | IllegalArgumentException e) {
23 System.out.println("Failed to load image: /images/" + strImg);
24 e.printStackTrace();
25 }
26 }
27
28 public Item(Item copy, Point loc) {
29 this.name = copy.name;
30 this.type = copy.type;
31 this.img = copy.img;
32 this.loc = loc;
33 this.description = copy.description;
34 }
35
36 public Item copy(Point loc) {
37 return new Item(this, loc);
38 }
39
40 public BufferedImage getImg() {
41 return this.img;
42 }
43
44 public String getDescription() {
45 return this.description;
46 }
47
48 public void setDescription(String description) {
49 this.description = description;
50 }
51
52 public boolean isRelic() {
53 return (this.type == ItemType.Relic);
54 }
55
56 public void draw(Graphics g, int playerX, int playerY) {
57 g.drawImage(this.img, 375 + this.loc.getX() - playerX, 275 + this.loc.getY() - playerY, null);
58 }
59
60 public void drawStatic(Graphics g, int x, int y) {
61 g.drawImage(this.img, x, y, null);
62 }
63
64 public String getName() {
65 return this.name;
66 }
67
68 public ItemType getType() {
69 return this.type;
70 }
71
72 public Point getLoc() {
73 return this.loc;
74 }
75
76 public void setLoc(Point loc) {
77 this.loc = loc;
78 }
79}
Note: See TracBrowser for help on using the repository browser.