View difference between Paste ID: wZUdgqHh and HdDabW89
SHOW: | | - or go back to the newest paste.
1
package jagirm;
2
3
import textgame.Item;
4
5
/**
6
 * Aspekt sluzi na mazanie/vkladanie predmetov v miestnosti po ich vzati/polozeni.
7
 *
8
 */
9
public aspect RoomItemsAspect {
10
	
11
	Item temp;
12
	GameImpl game;
13
14
	after(GameImpl g): initialization(GameImpl.new(..))&&target(g){
15
		game=g;
16
	}
17
	
18
	pointcut addItem(String item) : execution(* BackpackImpl.remove(..)) && args(item);
19
	
20-
	pointcut removeItem(Item item, RoomImpl r) : execution(* BackpackImpl.add(..)) && args(item) && this(r);
20+
	pointcut removeItem(Item item) : execution(* BackpackImpl.add(..)) && args(item);
21
	
22
    before(String item) : addItem(item) {
23
		temp = game.getBackpack().getItem(item);
24
	}
25
	
26
	after(String item) : addItem(item) {
27
		game.getCurrentRoom().addItem(temp);
28
		System.out.println("Pridal si do miestnosti predmet s nazvom " + item + ".");
29
	}
30
	
31-
	before(Item item, RoomImpl r) : removeItem(item, r) {
31+
	before(Item item) : removeItem(item) {
32-
		r.removeItem(item);
32+
		game.getCurrentRoom().removeItem(item);
33
		System.out.println("Odstranil si z miestnosti predmet s nazvom " + item.getName() + ".");
34
35
	}
36
37
}