} // end draw function public void drawItems(SpriteBatch sb, SpriteFont sf) { //check to see if user hit exit button //format display on screen for string to be drawn Vector2 formatpos = new Vector2(315, 170); float origx = formatpos.X; if (game_state.local_player.getInventory().Count == 0) // no items collected, display a message { sb.DrawString(sf, backpackmenu.getEmptyString(), new Vector2(formatpos.X + 45, formatpos.Y), Color.Black); } else // inventory has a capacity { //draws (each) item on inventory screen foreach (Item i in game_state.local_player.getInventory()) { //display format: Item image, image name // Draw item image to screen i.setPos(formatpos); int tileSize = game_state.tile_engine.getTileSize(); Rectangle dest = new Rectangle((int)formatpos.X, (int)formatpos.Y, tileSize, tileSize); Rectangle imageSource = new Rectangle((i.getTexture() % (tiles[2].Width / tileSize)) * tileSize, (i.getTexture() / (tiles[2].Width / tileSize)) * tileSize, tileSize, tileSize); sb.Draw(item_background, new Vector2(formatpos.X - 4, formatpos.Y - 4), Color.White); sb.Draw(tiles[2], dest, imageSource, Color.White); // Draw item name to screen formatpos.X += 50; i.setPos(formatpos); sb.DrawString(sf, i.getName(), i.getPos(), Color.Black, 0, imageOffset, 1.0f, SpriteEffects.None, 0); // Reset position for next item formatpos.Y += 50; formatpos.X = origx; // re-allign for next item to be displayed } } // end else }//end drawitems function