Welcome back.
Now that we have so many attributes and it's harder for us to see all of their values when we use show
debug ability system, the console command, we need a way to easily see all of our attributes and this
is something that the player needs to be able to see as well.
So this is perfect for some sort of menu that we can use to see all of these values.
We'll call this the attribute menu.
Now the attribute menu for this course is going to look like this.
We're going to have a number of values shown with buttons next to some attributes and no button next
to the others.
The primary attributes are going to get a button next to them and the secondary attributes will not.
And the reason for this is I'd like to be able to gain attribute points when the player levels up.
That will be a reward for gaining progress and those points can be spent on primary attributes.
Now the reason I don't want to be able to spend them on secondary attributes is because these are derived
from other attributes.
So if other attributes that back these secondary attributes change, the secondary attributes adjust
accordingly.
So it's really the primary attributes that drive all the other attributes in some way.
So increasing one of these four is going to increase the others that depend on them.
So this is the design that I'm going for.
I have a health and mana section down there at the bottom just to show the vital attributes as well.
And this is going to require a little bit of thinking when it comes to design.
For one notice we have values shown with a nice little frame, so this should probably be its own widget
that we can reuse and then we can have some easy function that can set the value of the numerical data
represented by this widget.
Now notice that we have rows that have text as well as a framed value.
These are for each of the attributes, so this should be its own widget that has text as well as one
of these framed values that we can reuse.
And then we see that the primary attributes are similar and that they have text and a framed value,
but they also have a button.
And this is basically the same as the regular secondary attribute row.
The only difference is it has an additional widget in there, it has a button.
So we're going to want to make sure that we can reuse any work that we can from the attribute row.
Now, once we've created all this, of course we need to make one big widget for the attribute menu
itself and we'll need to give some thought into how to construct this in the best way.
Notice the secondary attributes are not all shown right here.
We're only seeing about 4 or 5 of them and there's a scroll bar that we can click and scroll down to
see all the rest of the secondary attributes.
And so that's a pretty common feature that you're going to want to see in an attribute menu that has
lots of attributes in it.
So there's a few things to consider while creating this attribute menu.
So from what we see here, it looks like we need a few different widgets.
We're going to want a widget for that framed value, and I'd like to call that WB framed value.
And then we can create a text value row, basically a row that has text and a framed value in it.
And then we can create a text value button row that basically is the same as the text value row, except
that it also has a button.
And once we have these building block widgets, we can create our overall attribute menu widget blueprint
and put all the rest of these in there.
Now of course, health and mana, those should probably be their own widgets.
Those can be progress bars.
So we'll think about those when we get to the end there.
And of course we'd like our attribute menu to have a button to close it down.
So we have that red button with the X on there.
So there are a few additional details to take care of as well.
So we have a game plan and our next steps involve first creating that framed value widget.
That's going to be a pretty simple step and then we'll make our text value row widget, after which
we can make text value button row, which will be basically a text value row with an added button.
And finally we can make the.
Attribute menu widget and put this all together and flesh out the attribute menu.
So we've got a few steps, but we have a game plan and we're going to start with step one in the next
video.
I'll see you soon.