その1で作ったEnumを今度は条件付けのフラグとして使う
こうやって使うというサンプルなので動きません
item2.js
var SLOT = {
NONE : 0,
EQUIP : 1,
INVENTORY : 2,
STORAGE : 3,
_SIZEOF : 4,
};
var SLOT_FLAG = {
NONE : 1<<SLOT.NONE,
EQUIP : 1<<SLOT.EQUIP,
INVENTORY : 1<<SLOT.INVENTORY,
STORAGE : 1<<SLOT.STORAGE,
WEAPONITEM : SLOT_FLAG.EQUIP | SLOT_FLAG.INVENTORY,//装備品は装備スロットとインベントリに設置可能
EVENTITEM : SLOT_FLAG.INVENTORY,//イベントアイテムはインベントリに設置可能
CONSUMPTIONITEM : SLOT_FLAG.INVENTORY|SLOT_FLAG.STORAGE,//消耗品はインベントリと倉庫に設置可能
};
function getSlotCond(item){
switch(item.type){
case ITEM_TYPE.WEAPON:
return SLOT_FLAG.WEAPONITEM;
case ITEM_TYPE.CONSUMPTION:
return SLOT_FLAG.CONSUMPTIONITEM;
case ITEM_TYPE.EVEMT:
return SLOT_FLAG.EVENTITEM;
}
return 0;
}
function moveSlot(item,toslot){
if(getSlotCond(item) & (1<<toslot)){
item.slot_type = toslot;
return true;
}
return false;
}