Merge remote-tracking branch 'origin/inventory' into feature/farming_visuals

# Conflicts:
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Gießkanne/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B01-Idle-Harke/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Gießkanne/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/B02-Walk-Harke/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Gießkanne/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/D01-Idle-Harke/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Harke/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Gießkanne/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/F02-Walk-Harke/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Gießkanne/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S01-Idle-Harke/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0020.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0001.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0002.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0003.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0004.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0005.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0006.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0007.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0008.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0009.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0010.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0011.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0012.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0013.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0014.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0015.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0016.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0017.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0018.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0019.png.import
#	art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Harke/0020.png.import
#	prefabs/UI/Inventory/Inventory.tscn
#	scenes/Babushka_scene_farm_outside_2d.tscn
remotes/checkIfPRContentChanged-1749884192368007736/inventory
kziolkowski 8 months ago
commit 917e6a5f7e

5
.gitignore vendored

@ -6,4 +6,7 @@
# temporary files
**/*.tmp
**/*.translation
**/*~lock~
**/*~lock~
# override config can be used by developers to override the settings without pushing changes to the repository
override.cfg

@ -2,5 +2,6 @@
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

@ -0,0 +1,5 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=0B2502BD29F5EC4798EEFD2950AA7E06/Description/@EntryValue">Godot Signal</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=0B2502BD29F5EC4798EEFD2950AA7E06/Text/@EntryValue">[Signal]
public delegate void $SignalName$EventHandler($END$);</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=0B2502BD29F5EC4798EEFD2950AA7E06/Field/=SignalName/Expression/@EntryValue">suggestVariableName()</s:String></wpf:ResourceDictionary>

@ -4,11 +4,12 @@ importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b3kyrsoobmkhp"
valid=false
path="res://.godot/imported/best_house_blender.blend-ac89c74aef2f275bdf4b4baadee17c0c.scn"
[deps]
source_file="res://art/mockups/3d/best_house_blender.blend"
dest_files=["res://.godot/imported/best_house_blender.blend-ac89c74aef2f275bdf4b4baadee17c0c.scn"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3ln8aleyxgp1"
path="res://.godot/imported/UI_bag_export_01.png-849f65e7f0ae9838cbd0b40d7db0adbf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/ui/UI/UI_bag_export_01.png"
dest_files=["res://.godot/imported/UI_bag_export_01.png-849f65e7f0ae9838cbd0b40d7db0adbf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dcidjcsqk12p1"
path="res://.godot/imported/UI_bag_export_02.png-1d79b1aa82b484e614d86097168b3404.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/ui/UI/UI_bag_export_02.png"
dest_files=["res://.godot/imported/UI_bag_export_02.png-1d79b1aa82b484e614d86097168b3404.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

@ -1,20 +1,32 @@
[gd_scene load_steps=5 format=3 uid="uid://cgjc4wurbgimy"]
[gd_scene load_steps=8 format=3 uid="uid://cgjc4wurbgimy"]
[ext_resource type="Script" uid="uid://hg7jay2kt441" path="res://scripts/CSharp/Common/Inventory/InventoryUi.cs" id="1_6wusm"]
[ext_resource type="Script" uid="uid://b2jhdxcrhtm2d" path="res://scripts/CSharp/Common/Inventory/InventoryTestScript.cs" id="3_exrk4"]
[ext_resource type="Texture2D" uid="uid://3ln8aleyxgp1" path="res://art/ui/UI/UI_bag_export_01.png" id="3_vvo7l"]
[ext_resource type="Resource" uid="uid://datee0flk1e84" path="res://resources/items/pickaxe.tres" id="4_5fdxq"]
[ext_resource type="Texture2D" uid="uid://dcidjcsqk12p1" path="res://art/ui/UI/UI_bag_export_02.png" id="4_df8i8"]
[ext_resource type="Texture2D" uid="uid://c7wqla0mbu3np" path="res://art/ui/babushka_ui_tmp_inventory_select.png" id="4_tiss4"]
[ext_resource type="PackedScene" uid="uid://c0kmdjeqkqrwv" path="res://prefabs/UI/Inventory/Slot.tscn" id="5_u7kje"]
[node name="Inventory" type="Control"]
[node name="CanvasLayer" type="CanvasLayer"]
layer = 90
[node name="Inventory" type="Control" parent="."]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 174.0
offset_top = 191.0
offset_right = 174.0
offset_bottom = 191.0
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(0.7, 0.7)
script = ExtResource("1_6wusm")
_inventoryOpenedOffset = -700.0
[node name="SlotsContainer" type="Control" parent="."]
[node name="SlotsContainer" type="Control" parent="Inventory"]
custom_minimum_size = Vector2(500, 0)
layout_mode = 1
anchors_preset = 13
@ -24,34 +36,23 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Slots" type="GridContainer" parent="SlotsContainer"]
custom_minimum_size = Vector2(1000, 200)
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_bottom = 200.0
grow_horizontal = 2
grow_vertical = 0
theme_override_constants/h_separation = 0
theme_override_constants/v_separation = 0
columns = 10
[node name="SlotSelectContainer" type="Control" parent="SlotsContainer"]
custom_minimum_size = Vector2(1000, 100)
[node name="SlotSelectContainer" type="Control" parent="Inventory/SlotsContainer"]
custom_minimum_size = Vector2(900, 100)
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -450.0
offset_top = -115.0
offset_right = 450.0
offset_bottom = -15.0
grow_horizontal = 2
grow_vertical = 0
[node name="Selector" type="TextureRect" parent="SlotsContainer/SlotSelectContainer"]
visible = false
[node name="Selector" type="TextureRect" parent="Inventory/SlotsContainer/SlotSelectContainer"]
z_index = 10
custom_minimum_size = Vector2(100, 100)
layout_mode = 0
offset_left = 1.0
@ -60,11 +61,316 @@ offset_bottom = 100.0
texture = ExtResource("4_tiss4")
expand_mode = 1
[node name="InventoryTester" type="Node" parent="."]
[node name="SlotsMover" type="Control" parent="Inventory/SlotsContainer"]
custom_minimum_size = Vector2(900, 610)
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -200.0
offset_top = -611.0
offset_right = 200.0
offset_bottom = -1.0
grow_horizontal = 2
grow_vertical = 0
[node name="BackgroundContainer" type="Control" parent="Inventory/SlotsContainer/SlotsMover"]
layout_mode = 1
anchors_preset = 0
offset_left = 5.0
offset_top = 384.0
offset_right = 901.0
offset_bottom = 1230.0
mouse_filter = 2
[node name="TextureRect" type="TextureRect" parent="Inventory/SlotsContainer/SlotsMover/BackgroundContainer"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -305.0
offset_right = 303.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_vvo7l")
expand_mode = 3
[node name="TextureRect2" type="TextureRect" parent="Inventory/SlotsContainer/SlotsMover/BackgroundContainer"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_vvo7l")
expand_mode = 3
flip_h = true
[node name="TextureRect3" type="TextureRect" parent="Inventory/SlotsContainer/SlotsMover/BackgroundContainer"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("4_df8i8")
expand_mode = 3
flip_h = true
[node name="Slots" type="Control" parent="Inventory/SlotsContainer/SlotsMover"]
custom_minimum_size = Vector2(900, 610)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = 496.0
offset_bottom = 496.0
grow_horizontal = 2
grow_vertical = 2
[node name="Slot" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
[node name="Slot2" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 100.0
offset_right = 200.0
[node name="Slot3" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 201.0
offset_right = 301.0
[node name="Slot4" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 301.0
offset_right = 401.0
[node name="Slot5" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 401.0
offset_right = 501.0
[node name="Slot6" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 501.0
offset_right = 601.0
[node name="Slot7" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 601.0
offset_right = 701.0
[node name="Slot8" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 702.0
offset_right = 802.0
[node name="Slot9" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 802.0
offset_right = 902.0
[node name="Slot10" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 101.0
offset_top = 212.0
offset_right = 201.0
offset_bottom = 312.0
[node name="Slot11" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 201.0
offset_top = 212.0
offset_right = 301.0
offset_bottom = 312.0
[node name="Slot12" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 301.0
offset_top = 212.0
offset_right = 401.0
offset_bottom = 312.0
[node name="Slot13" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 401.0
offset_top = 212.0
offset_right = 501.0
offset_bottom = 312.0
[node name="Slot14" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 501.0
offset_top = 212.0
offset_right = 601.0
offset_bottom = 312.0
[node name="Slot15" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 602.0
offset_top = 212.0
offset_right = 702.0
offset_bottom = 312.0
[node name="Slot16" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 702.0
offset_top = 212.0
offset_right = 802.0
offset_bottom = 312.0
[node name="Slot17" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 102.0
offset_top = 312.0
offset_right = 202.0
offset_bottom = 412.0
[node name="Slot18" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 202.0
offset_top = 312.0
offset_right = 302.0
offset_bottom = 412.0
[node name="Slot19" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 302.0
offset_top = 312.0
offset_right = 402.0
offset_bottom = 412.0
[node name="Slot20" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 402.0
offset_top = 312.0
offset_right = 502.0
offset_bottom = 412.0
[node name="Slot21" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 502.0
offset_top = 312.0
offset_right = 602.0
offset_bottom = 412.0
[node name="Slot22" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 603.0
offset_top = 312.0
offset_right = 703.0
offset_bottom = 412.0
[node name="Slot23" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 703.0
offset_top = 312.0
offset_right = 803.0
offset_bottom = 412.0
[node name="Slot24" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 102.0
offset_top = 412.0
offset_right = 202.0
offset_bottom = 512.0
[node name="Slot25" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 202.0
offset_top = 412.0
offset_right = 302.0
offset_bottom = 512.0
[node name="Slot26" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 302.0
offset_top = 412.0
offset_right = 402.0
offset_bottom = 512.0
[node name="Slot27" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 402.0
offset_top = 412.0
offset_right = 502.0
offset_bottom = 512.0
[node name="Slot28" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 502.0
offset_top = 412.0
offset_right = 602.0
offset_bottom = 512.0
[node name="Slot29" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 603.0
offset_top = 412.0
offset_right = 703.0
offset_bottom = 512.0
[node name="Slot30" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 703.0
offset_top = 412.0
offset_right = 803.0
offset_bottom = 512.0
[node name="Slot31" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 102.0
offset_top = 512.0
offset_right = 202.0
offset_bottom = 612.0
[node name="Slot32" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 202.0
offset_top = 512.0
offset_right = 302.0
offset_bottom = 612.0
[node name="Slot33" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 302.0
offset_top = 512.0
offset_right = 402.0
offset_bottom = 612.0
[node name="Slot34" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 402.0
offset_top = 512.0
offset_right = 502.0
offset_bottom = 612.0
[node name="Slot35" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 502.0
offset_top = 512.0
offset_right = 602.0
offset_bottom = 612.0
[node name="Slot36" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 603.0
offset_top = 512.0
offset_right = 703.0
offset_bottom = 612.0
[node name="Slot37" parent="Inventory/SlotsContainer/SlotsMover/Slots" instance=ExtResource("5_u7kje")]
layout_mode = 1
offset_left = 703.0
offset_top = 512.0
offset_right = 803.0
offset_bottom = 612.0
[node name="InventoryTester" type="Node" parent="Inventory"]
script = ExtResource("3_exrk4")
_testItemToCreate = ExtResource("4_5fdxq")
[node name="BabushkaUiTmpInventorySelect" type="Sprite2D" parent="."]
visible = false
position = Vector2(-648, 1020)
texture = ExtResource("4_tiss4")

@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://c0kmdjeqkqrwv"]
[ext_resource type="Script" uid="uid://bh6wcyxh1f0cv" path="res://scripts/CSharp/Common/Inventory/SlotUi.cs" id="1_au0l0"]
[ext_resource type="Texture2D" uid="uid://c2dbd0q02x2h" path="res://art/ui/babushka_ui_inventory_slot.png" id="2_7emux"]
[ext_resource type="Texture2D" uid="uid://0p52bm8b1nrl" path="res://art/ui/UI/inventory_standard.png" id="2_7emux"]
[sub_resource type="LabelSettings" id="LabelSettings_7emux"]
font_size = 15
@ -10,12 +10,9 @@ font_color = Color(0.203922, 1, 1, 1)
[node name="Slot" type="Control"]
custom_minimum_size = Vector2(100, 100)
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_bottom = 2.0
grow_horizontal = 2
grow_vertical = 2
anchors_preset = 0
offset_right = 100.0
offset_bottom = 100.0
script = ExtResource("1_au0l0")
[node name="TextureRect" type="TextureRect" parent="."]
@ -23,6 +20,10 @@ layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 3.0
offset_top = 3.0
offset_right = -3.0
offset_bottom = -3.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_7emux")
@ -45,18 +46,15 @@ vertical_alignment = 1
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -409.0
offset_top = -329.0
offset_left = -50.0
offset_top = 9.0
offset_right = -10.0
offset_bottom = -10.0
offset_bottom = 49.0
grow_horizontal = 0
grow_vertical = 0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "999"
horizontal_alignment = 2
vertical_alignment = 2
[connection signal="gui_input" from="." to="." method="_on_gui_input"]

@ -11,7 +11,7 @@ config_version=5
[application]
config/name="Babushka"
run/main_scene="uid://gigb28qk8t12"
run/main_scene="uid://dee2hgv85mdak"
config/features=PackedStringArray("4.4", "C#", "Forward Plus")
config/icon="uid://b2smanpdo1y5e"
@ -69,6 +69,8 @@ text/autopauses={}
[display]
window/size/always_on_top=true
window/stretch/mode="viewport"
window/stretch/aspect="keep_height"
[dotnet]

@ -6,4 +6,5 @@
script = ExtResource("1_07aya")
name = "Pick Axe"
color = Color(0.589014, 0.823353, 0.998475, 1)
maxStack = 1
metadata/_custom_type_script = "uid://cbskymrxs6ksu"

@ -1,13 +1,27 @@
#nullable enable
using System;
using Godot;
namespace Babushka.scripts.CSharp.Common.Inventory;
public partial class InventoryManager : Node
{
public static InventoryManager Instance { get; private set; }
[Signal]
public delegate void SlotIndexChangedEventHandler(int newIndex);
public static InventoryManager Instance { get; private set; } = null!;
public int CurrentSelectedSlotIndex
{
get => _currentSelectedSlotIndex;
set
{
_currentSelectedSlotIndex = value;
EmitSignalSlotIndexChanged(_currentSelectedSlotIndex);
}
}
public InventoryInstance playerInventory;
public InventoryInstance playerInventory = new InventoryInstance();
private int _currentSelectedSlotIndex = 0;
public override void _EnterTree()
{
@ -16,8 +30,7 @@ public partial class InventoryManager : Node
public override void _Ready()
{
playerInventory = new InventoryInstance();
playerInventory.SlotAmount = 30;
playerInventory.SlotAmount = 37;
}
public InventoryActionResult CreateItem(
@ -68,4 +81,14 @@ public partial class InventoryManager : Node
{
return playerInventory.AddItem(itemInstance);
}
}
public InventorySlot GetCurrentSelectedSlot()
{
if (CurrentSelectedSlotIndex < 0 || CurrentSelectedSlotIndex > 8)
throw new ArgumentOutOfRangeException(
nameof(CurrentSelectedSlotIndex),
"currentInventoryBarIndex must be between 0 and 8 (inclusively)");
return playerInventory.Slots[CurrentSelectedSlotIndex];
}
}

@ -1,28 +1,34 @@
#nullable enable
using Godot;
namespace Babushka.scripts.CSharp.Common.Inventory;
public partial class InventoryUi : Control
{
private GridContainer _slots;
private Control _slots;
private Control _slotsMover;
private InventoryInstance _playerInventory;
private Control _slotSelect;
private int? _slotOnMouse;
private int _selectedSlot = 0;
private bool _inventoryExtended = false;
private Tween? _inventoryExtensionTween;
[Export]
private float _inventoryClosedOffset = 0f;
[Export]
private float _inventoryOpenedOffset = 200f;
public override void _Ready()
{
GD.Print("Ready inventory ui");
_slots = GetNode<GridContainer>("SlotsContainer/Slots");
_slots = GetNode<Control>("SlotsContainer/SlotsMover/Slots");
_slotsMover = GetNode<Control>("SlotsContainer/SlotsMover");
_playerInventory = InventoryManager.Instance.playerInventory;
_slotSelect = GetNode<Control>("SlotsContainer/SlotSelectContainer/Selector");
PopulateSlots();
//PopulateSlots();
SubscribeSlots();
SetSlotContent();
SetSlotSelectPosition();
InventoryManager.Instance.playerInventory.InventoryContentsChanged += SetSlotContent;
@ -54,7 +60,7 @@ public partial class InventoryUi : Control
private void SetSlotSelectPosition()
{
_slotSelect.Position = new Vector2(_selectedSlot * 100, 0);
_slotSelect.Position = new Vector2(InventoryManager.Instance.CurrentSelectedSlotIndex * 100, 0);
}
private void PopulateSlots()
@ -68,6 +74,17 @@ public partial class InventoryUi : Control
_slots.AddChild(slotInstance);
}
}
private void SubscribeSlots()
{
for (var index = 0; index < _playerInventory.Slots.Count; index++)
{
var slotInstance = _slots.GetChild<SlotUi>(index);
slotInstance.index = index;
slotInstance.Clicked += SlotClicked;
_slots.AddChild(slotInstance);
}
}
private void UnsubscribeSlots()
{
@ -108,17 +125,17 @@ public partial class InventoryUi : Control
if (Input.IsActionJustPressed("ui_inventory_disadvance"))
{
_selectedSlot++;
if (_selectedSlot > 9)
_selectedSlot = 0;
InventoryManager.Instance.CurrentSelectedSlotIndex++;
if (InventoryManager.Instance.CurrentSelectedSlotIndex > 8)
InventoryManager.Instance.CurrentSelectedSlotIndex = 0;
SetSlotSelectPosition();
}
if (Input.IsActionJustPressed("ui_inventory_advance"))
{
_selectedSlot--;
if (_selectedSlot < 0)
_selectedSlot = 9;
InventoryManager.Instance.CurrentSelectedSlotIndex--;
if (InventoryManager.Instance.CurrentSelectedSlotIndex < 0)
InventoryManager.Instance.CurrentSelectedSlotIndex = 8;
SetSlotSelectPosition();
}
}
@ -134,7 +151,7 @@ public partial class InventoryUi : Control
_inventoryExtensionTween = GetTree().CreateTween();
_slotSelect.Hide();
_inventoryExtensionTween
.TweenProperty(_slots, "offset_bottom", -100, 0.4)
.TweenProperty(_slotsMover, "offset_bottom", _inventoryOpenedOffset, 0.4)
.SetTrans(Tween.TransitionType.Quad)
.SetEase(Tween.EaseType.Out);
}
@ -144,7 +161,7 @@ public partial class InventoryUi : Control
_inventoryExtensionTween = GetTree().CreateTween();
_slotSelect.Show();
_inventoryExtensionTween
.TweenProperty(_slots, "offset_bottom", 200, 0.4)
.TweenProperty(_slotsMover, "offset_bottom", _inventoryClosedOffset, 0.4)
.SetTrans(Tween.TransitionType.Quad)
.SetEase(Tween.EaseType.Out);

Loading…
Cancel
Save