package net.sourceforge.pain.data.type;
import net.sourceforge.pain.data.*;
import net.sourceforge.pain.db.*;
/**
 * User: fmike  Date: Oct 12, 2003   Time: 1:01:39 AM
 */
public final class Wear extends Role {
	public static int WEAR_LIGHT = 1;
	public static int WEAR_FINGER_L = 2;
	public static int WEAR_FINGER_R = 3;
	public static int WEAR_NECK_1 = 4;
	public static int WEAR_NECK_2 = 5;
	public static int WEAR_BODY = 6;
	public static int WEAR_HEAD = 7;
	public static int WEAR_LEGS = 8;
	public static int WEAR_FEET = 9;
	public static int WEAR_HANDS = 10;
	public static int WEAR_ARMS = 11;
	public static int WEAR_SHIELD = 12;
	public static int WEAR_ABOUT = 13;
	public static int WEAR_WAIST = 14;
	public static int WEAR_WRIST_L = 15;
	public static int WEAR_WRIST_R = 16;
	public static int WEAR_HOLD_L = 17;
	public static int WEAR_HOLD_R = 18;
	public static final int WEAR_SLOT = 1 + LAST_BASE_FIELD_INDEX;;
	public static final int OWNER = 2 + LAST_BASE_FIELD_INDEX;;
	public static final int NFIELDS = 3 + LAST_BASE_FIELD_INDEX;;
	public final static Class[] superroles = new Class[]{Physical.class};
	public Wear(PainDB db) {
		super(db);
	}
	public Wear() {
	}
	public Class[] getSuperroles() {
		return superroles;
	}
	public DbClassSchema provideSchema() {
		byte types[] = new byte[NFIELDS];
		String names[] = new String[NFIELDS];
		fillSuperSchema(types, names);
		types[WEAR_SLOT] = DbType.INT;
		names[WEAR_SLOT] = "wear_slot";
		types[OWNER] = DbType.REFERENCE;
		names[OWNER] = "owner";
		return new DbClassSchema(types, names);
	}
	public void setType(int value) {
		setInt(WEAR_SLOT, value);
	}
	public void setOwner(Equipped owner) {
		setReference(OWNER, owner);
	}
	public int getType() {
		return getInt(WEAR_SLOT);
	}
	public Equipped getOwner() {
		return (Equipped) getReference(OWNER);
	}
}