Custom UI Control

MrDGould

New member
Hello, First of all thank you for the system, it is wonderful.

I find the panel manager system to be a little complex and confusing, and I would like to write my own script to handle opening and closing panels. I was simply wondering which components I can get away without. I tried to use the schemas and could not get them to function the way I'd like.

If I use the UI designer, create an inventory grid, and equipment panel, hotbar, and a crafting menu all separately and not under a main menu, how could I control these without losing the functionality of the respective panels? I'd like it separate so that I can have multiple different UI pieces for different crafting stations, chests, etc.

Do I remove the panel component from them? or write a manager that has serializefield references to each and call panel.Open(xPanel); or something?

I still want to be able to drag and drop between the panels, in order to have it required that you place the ingredients in the crafting bench before you can craft the item.

Basically I'd like an overview on how to completely separate UI from the UIS system, so that I may still use the crafter component, inventory grids, item actions for equipping to the hotbar, dropping, etc. and all the other great features of UIS, but without the panel manager and other scripts that handle which panels are opened, closed, and how it responds to input.

I've watched all the videos available and just haven't been able to wrap my mind around how to do this without breaking everything. It may be worth noting that I'm also using UCC for my character, not sure if that makes a difference. Ideally I'd like to get all the UI working before I put the character in the scene.

Thank you in advance.
 
The UCC character won't change anything for the UI so there's no need to worry about that.

Essentially you are interested in the Item View Slot Containers but not in the panel system.
You can learn more about Item View Slot Containers here:
You can learn more about the panel system here:

Note the Menus, like the Crafting Menu uses sub panels and therefore if you plan to use it you won't be able to remove panels completely. you could create your own custom crafting menu using the Item View Slot Container (InventoryGrid) and CraftingRecipeGrid, etc...

As you mentioned there are two ways you could go about this
1) Remove all the Display Panels and replace them by your own system.
2) Use the Display Panels but open/close panels using your own manager handler.

Both have advantages and disadvantages.

For option one, you'll have a lot more control, but you'll need to write a lot more custom code to initialize the Item View Slot Containers, etc... Depending on your use case this might be the right option if you are making a very unique UI panel system.

For option two you can keep everything as it is, and remove the input to open/close panels from the Display Panel Manager Handler (or simply remove that handler component completely).
Then you can create your own handler that opens/closes panels exactly the way you want. At the very end of the display panel manager documentation (link above) there is an API example on how to open and close panels.

You can say what was the previous panel when opening a panel such that when closed it automatically opens that panel again. You can use the overload parameters to open/close panels exactly the way you want.

In my opinion option two will be easier, but depending on the use case maybe it won't work. So my advice is try option 2 first and then if it really doesn't suit your game look into implementing option 1.

I hope this helps
 
Top