/*
* JavaXYQ Source Code
* by kylixs
* at 2010-4-15
* please visit http://javaxyq.googlecode.com
* or mail to kylixs@qq.com
*/
package com.javaxyq.util;
import java.util.Comparator;
import com.javaxyq.data.ItemInstance;
import com.javaxyq.data.MedicineItem;
import com.javaxyq.model.Item;
import com.javaxyq.model.ItemTypes;
/**
* ҩƷ��Ʒ�Ƚ���
* @author gongdewei
* @date 2010-4-15 create
*/
public class MedicineItemComparator implements Comparator<ItemInstance> {
/** �Ƚ����� ���ο�ItemTypes��Medicine��������'0x1xxx'*/
private int type;
public MedicineItemComparator(int type) {
this.type = type;
}
@Override
public int compare(ItemInstance o1, ItemInstance o2) {
int val1 = getValue(o1.getItem(),type);
int val2 = getValue(o2.getItem(),type);
return val1-val2;
}
/**
* @param o1
* @param type2
* @return
*/
private int getValue(Item item, int type) {
MedicineItem it = (MedicineItem) item;
switch (type) {
case ItemTypes.TYPE_MEDICINE_HP:
return it.getHp();
case ItemTypes.TYPE_MEDICINE_MP:
return it.getMp();
case ItemTypes.TYPE_MEDICINE_INJURY:
return it.getInjury();
// case ItemTypes.TYPE_MEDICINE_SP:
// return it.sp;
default:
break;
}
return 0;
}
}