public Item getItemAt(int x, int y, int width, int height)
{
int tx = (x) / game_state.tile_engine.getTileSize();
int ty = (y + height-10) / game_state.tile_engine.getTileSize();
Tile t = objects_layer.getTile(tx, ty);
int type = t.getTexture();
if (type == -1)
{
//Bottom Right
tx = (x + width) / game_state.tile_engine.getTileSize();
ty = (y + height-10) / game_state.tile_engine.getTileSize();
t = objects_layer.getTile(tx, ty);
type = t.getTexture();
if (type == -1)
{
return null;
}
}
if (obj_hash[type] == objectType.ITEM)
{
itemType item_type = item_hash[type];
Item new_item;
switch (item_type)
{
case itemType.LASER:
new_item = new Item(itemType.LASER, 3, 0, 0, 0, type);
break;
case itemType.SWORD:
new_item = new Item(itemType.SWORD, 3, 0, 0, 0, type);
break;
case itemType.ATT_BOOST:
new_item = new Item(itemType.ATT_BOOST, 5, 0, 0, 15, type);
break;
case itemType.DEF_BOOST:
new_item = new Item(itemType.DEF_BOOST, 0, 0, 5, 15, type);
break;
case itemType.KEY:
new_item = new Item(itemType.KEY, 0, 0, 0, 0, type);
break;
default:
new_item = null;
break;
}
t.setTexture(-1);
return new_item;
}
return null;
}