Multi Page Inventory (Platypus Plague)

Description

Multi page inventory system. Highly customizable UI driven via globally configurable variables including row/column count, item placements, labels and sizes.==

Kode
TODO: Put Kode here.

Overview
The Multi Page Inventory (MPI) is built using two brains. The first (Inventory Cube) is assigned to a logic cube, and handles all of the global variables for displaying the UI. The second (Inventory Character) handles the actual display of the items and the controls.

Inventory Cube
The Inventory Cube consists of two pages. The first page is the list of all of the configuration variables. As the MPI progresses, more options will be available (not all labels have a color variable yet, there aren't any highlight variables, and so forth). These are broken down into groups for readability, with each group having their own when:once statement.

The second page consists of global controller variables. Unless you are trying to change how the core of the MPI works, they should be left alone.

Inventory Character
The Inventory Character consists of three pages. The first page is the 'world' page, for lack of a better term. Running, jumping, picking up items, and calling the inventory screen. Its only there for testing purposes - you would obviously be using your own 'world' controls.

The second page is the display logic. It displays each of the UI items on the screen. Rather than create a bunch of variables to control what should be shown, if you don't want something to be visible, add a 'ignore line' to the when statement for that display line.

The first set of lines displays all of the basic display items. Backgrouns, labels, etc. The next few lines are used for variable control during the following foreach loop. The foreach loop iterates through your inventory displaying the items for that page, as well as the item background and selection icon.

At the end of the second page there are four displays that are used for debugging purposes. When used in conjunction with the debugging controls on page three you can move UI elements when testing and see what the variable values should be, rather than having to switch back and forth between edit/test until you get it where you want it.

The second page also calls the third page, inventory controls.

The third page consists of all of the inventory controls. In my version, RB and LB change pages, A is used to interact with an inventory item (TODO), B is used to drop an item, and the D-Pad is used to navigate between items on the page.

The third page also consists of a set of debug controls. By assigning different variables and increments, you can move UI elements during testing to simplify UI element placement.

TODO
Show currently equipped items

Make currently equipped items selectable (so that you can see their affects)

Add a page to the logic cube to handle item grouping (weapons, armor, etc), item interactions, and item attributes (weapon damage, weapon name, armor value, health+ for food item).

Add (A) interaction based on item group (weapons/armor - equip, food - consume)

Add item affects/attributes to Inventory screen for selected item.

Add another UI page for each item group (armor, weapons, food), controls to move to that group, labels for it, logic to display only items in that group. (long term goal)