Small demo to reproduce it: http://rghost.ru/6Z5TgS6Pm , see "game\inventory\inventory.rpy" file:
Code: Select all
label inv_loop:
scene onlayer superoverlay
python:
ui.imagebutton(Solid("#000c"),Solid("#000c"),clicked=ui.returns("gohome"))
for i in range(inventory_i_max):
for j in range(inventory_j_max):
if (persistent.inventory[i][j] == None and what != None) or (persistent.inventory[i][j] != None and what == None) :
ui.imagebutton(inv_inventory_tile, im.MatrixColor(inv_inventory_tile,im.matrix.invert()), clicked=ui.returns((i,j)), pos=inv_inventory_pos(i,j))
else:
ui.imagebutton(inv_inventory_tile, inv_inventory_tile, clicked=None, pos=inv_inventory_pos(i,j))
if persistent.inventory[i][j]:
ui.at(Position(pos=inv_inventory_pos(i,j)))
ui.image(item_img(persistent.inventory[i][j]))
if what:
show expression custom_cursor(item_img(what), 32, 32) onlayer superoverlay
$ result = ui.interact()
if result == "gohome":
if what == None:
return
elif isinstance(result, tuple):
$ ii,jj = result
if what == None:
$ what = persistent.inventory[ii][jj]
$ persistent.inventory[ii][jj] = None
elif persistent.inventory[ii][jj] == None:
$ persistent.inventory[ii][jj] = what
$ what = None
jump inv_loop