root/trunk/AE-go_GameServer/src/com/aionemu/gameserver/model/gameobjects/Item.java

960993
32
public class Item extends AionObject
32
public class Item extends AionObject
33
{	
33
{	
34
	private int itemCount = 1;
34
	private int itemCount = 1;
35
	
35
36
	private int itemColor = 0;
36
	private int itemColor = 0;
37
	
37
38
	private ItemTemplate itemTemplate;
38
	private ItemTemplate itemTemplate;
39
	
39
40
	private boolean isEquipped = false;
40
	private boolean isEquipped = false;
41
	
41
42
	private int equipmentSlot = 0;
42
	private int equipmentSlot = 0;
43
	
43
44
	private boolean isQuest;
44
	private boolean isQuest;
45
	
45
46
	private PersistentState persistentState;
46
	private PersistentState persistentState;
47
	
47
48
	//TODO move to ItemStoneList ?
48
	//TODO move to ItemStoneList ?
49
	private List<ItemStone> itemStones;
49
	private List<ItemStone> itemStones;
50
	
50
51
	private int itemLocation;
52
51
	/**
53
	/**
52
	 * @param objId
54
	 * @param objId
53
	 * @param itemTemplate
55
	 * @param itemTemplate
...
...
61
	public Item(int objId, ItemTemplate itemTemplate, int itemCount, boolean isEquipped, int equipmentSlot)
63
	public Item(int objId, ItemTemplate itemTemplate, int itemCount, boolean isEquipped, int equipmentSlot)
62
	{
64
	{
63
		super(objId);
65
		super(objId);
64
		
66
65
		this.itemTemplate = itemTemplate;
67
		this.itemTemplate = itemTemplate;
66
		this.itemCount = itemCount;
68
		this.itemCount = itemCount;
67
		this.isEquipped = isEquipped;
69
		this.isEquipped = isEquipped;
68
		this.equipmentSlot = equipmentSlot;
70
		this.equipmentSlot = equipmentSlot;
69
		this.persistentState = PersistentState.NEW;
71
		this.persistentState = PersistentState.NEW;
70
	}
72
	}
71
	
73
72
	/**
74
	/**
73
	 * @param objId
75
	 * @param objId
74
	 * @param itemId
76
	 * @param itemId
...
...
81
	public Item(int objId, int itemId, int itemCount, int itemColor, boolean isEquipped, int equipmentSlot)
83
	public Item(int objId, int itemId, int itemCount, int itemColor, boolean isEquipped, int equipmentSlot)
82
	{
84
	{
83
		super(objId);
85
		super(objId);
84
		
86
85
		this.itemTemplate = DataManager.ITEM_DATA.getItemTemplate(itemId);
87
		this.itemTemplate = DataManager.ITEM_DATA.getItemTemplate(itemId);
86
		this.itemCount = itemCount;
88
		this.itemCount = itemCount;
87
		this.itemColor = itemColor;
89
		this.itemColor = itemColor;
...
...
107
109
108
	/**
110
	/**
109
	 *@return the itemColor
111
	 *@return the itemColor
110
     */
112
	 */
111
	public int getItemColor()
113
	public int getItemColor()
112
	{
114
	{
113
		return itemColor;
115
		return itemColor;
...
...
147
		this.itemCount = itemCount;
149
		this.itemCount = itemCount;
148
		setPersistentState(PersistentState.UPDATE_REQUIRED);
150
		setPersistentState(PersistentState.UPDATE_REQUIRED);
149
	}
151
	}
150
	
152
151
	/**
153
	/**
152
	 *  Every increase operation should be persisted immediately in caller method
154
	 *  Every increase operation should be persisted immediately in caller method
153
	 *  Use <code>setItemCount</code> method for non-persisted operations
155
	 *  Use <code>setItemCount</code> method for non-persisted operations
...
...
245
		int nextSlot = itemStones == null ? 0 : itemStones.size();
247
		int nextSlot = itemStones == null ? 0 : itemStones.size();
246
		if(itemStones == null)
248
		if(itemStones == null)
247
			itemStones = new ArrayList<ItemStone>();
249
			itemStones = new ArrayList<ItemStone>();
248
		
250
249
		ItemStone stone = new ItemStone(getObjectId(), itemId,
251
		ItemStone stone = new ItemStone(getObjectId(), itemId,
250
			nextSlot, PersistentState.NEW);
252
			nextSlot, PersistentState.NEW);
251
		this.itemStones.add(stone);
253
		this.itemStones.add(stone);
...
...
284
			default:
286
			default:
285
				this.persistentState = persistentState;
287
				this.persistentState = persistentState;
286
		}
288
		}
287
		
289
288
	}
290
	}
289
291
290
	/**
292
	/**
...
...
321
		sb.append('}');
323
		sb.append('}');
322
		return sb.toString();
324
		return sb.toString();
323
	}
325
	}
326
327
	public void setItemLocation(int storageType)
328
	{
329
		this.itemLocation = storageType;
330
	}
331
332
	public int getItemLocation()
333
	{
334
		return itemLocation;
335
	}
324
}
336
}