WEBVTT

00:06.810 --> 00:07.800
Welcome back.

00:08.310 --> 00:13.350
Now, the next step for us is to start showing things in our spell menu.

00:13.350 --> 00:18.570
In particular, when we open it up, we should show which abilities we have equipped.

00:18.690 --> 00:25.860
Now we have an equipped abilities row down here and we also have our two trees, the offensive and passive

00:25.890 --> 00:26.700
trees.

00:26.820 --> 00:33.060
Now the offensive abilities tree is using a specific widget for each globe.

00:33.090 --> 00:39.510
Well, actually our passive and equipped abilities rows are all using the same globe.

00:39.690 --> 00:44.910
But the truth is the equipped abilities row down here is going to need to be different.

00:44.970 --> 00:52.440
It's actually different enough to require its own completely different widget for these globes because

00:52.440 --> 00:56.940
these ones up here are going to show information and allow us to select them.

00:56.940 --> 01:01.770
We're going to select by clicking on them and be able to spend points on them.

01:01.770 --> 01:07.530
But when we click on these globes down here, that's going to mean something different.

01:07.560 --> 01:11.590
We're going to not be able to upgrade abilities down here.

01:11.590 --> 01:18.700
Instead, we're going to be able to click on these to select slots, to select the inputs that we'd

01:18.700 --> 01:21.320
like to assign these different abilities to.

01:21.340 --> 01:24.910
So they're different enough to require a different widget.

01:24.910 --> 01:28.960
So our equipped abilities is not going to use the same globe.

01:28.990 --> 01:30.580
Let's see what that globe is.

01:30.580 --> 01:36.940
If we go to UI spell globes, we have a spell globe button and that's what we use in our trees.

01:37.180 --> 01:41.020
We also have the spell globe, which is the not button version.

01:41.020 --> 01:43.650
That's what we see here in our overlay.

01:43.660 --> 01:44.860
Those are not buttons.

01:44.860 --> 01:46.210
We can't click on them.

01:46.240 --> 01:51.190
I'm going to set my number of players to one there, but our spell menu globes are buttons.

01:51.190 --> 01:53.320
That's why we have two different ones.

01:53.410 --> 01:58.510
We also have a value globe whose function is solely to show an integer value.

01:58.510 --> 02:00.130
So that's kind of different.

02:00.160 --> 02:06.190
We're now going to need a different globe button, and rather than mess with inheritance, I'm just

02:06.190 --> 02:10.660
going to duplicate my spell globe button and make a different version of it.

02:10.660 --> 02:15.430
It's going to be different enough to require its own widget blueprint, and we're going to call this

02:15.460 --> 02:17.590
equipped row button.

02:18.820 --> 02:21.010
We'll have an underscore before button.

02:21.220 --> 02:26.260
Now, equipped row button is what we'll use in our equipped spells row.

02:26.260 --> 02:34.540
So let's go to UI spell menu and we'll get that equipped spell row widget and we'll go ahead and replace

02:34.540 --> 02:35.130
these.

02:35.140 --> 02:41.320
So I'm just going to go ahead and take my spell globe buttons, all of them, and just highlight each

02:41.320 --> 02:43.330
of them and remove them.

02:43.330 --> 02:50.170
And then we'll go ahead and get our new equipped row button and we'll drag those in instead.

02:50.320 --> 02:57.850
So we have a rat box offensive with a box lab that has text lab in it.

02:57.880 --> 03:04.210
We want to drag our new equipped row button onto that box and we'll get it there.

03:04.510 --> 03:07.000
Now, its size should be different.

03:07.000 --> 03:13.780
In fact, we might have wanted to see what the size was before, so I'm just going to Ctrl Z until I

03:13.780 --> 03:15.580
get this spell globe button.

03:15.580 --> 03:21.950
I'm going to see its properties here and I see that its width and height are 60 and its glass padding

03:21.950 --> 03:23.270
is four.

03:23.480 --> 03:24.440
Okay, cool.

03:24.440 --> 03:26.240
We can use that size.

03:26.330 --> 03:32.750
So I'm going to go ahead and just remove each of these again, bring in an equipped row button onto

03:32.750 --> 03:40.760
box one, select it, set its box width to 60 box height to 60 glass padding to four.

03:40.760 --> 03:42.860
And it's now the size I want.

03:43.250 --> 03:45.560
I'm going to go ahead and copy that.

03:45.590 --> 03:45.950
Now.

03:45.950 --> 03:53.450
I skipped lab and R&amp;B so I can just take the boxes box lab, select it, paste and it goes right in

03:53.450 --> 03:53.990
box.

03:53.990 --> 03:55.670
R&amp;B, same thing.

03:55.670 --> 03:56.950
We already got one.

03:56.960 --> 03:58.700
We'll do it for two through four.

03:58.700 --> 04:02.600
So here's two, here's three and here's four.

04:03.080 --> 04:08.750
And of course I forgot to check the size for the passive ones, but I think they were something like

04:08.750 --> 04:09.310
40.

04:09.320 --> 04:10.060
I'm not sure.

04:10.070 --> 04:12.170
Let's just wing it here.

04:12.170 --> 04:19.400
I'm going to get my vertical box passive down here we have text passive and then a rat box with a spacer.

04:19.400 --> 04:20.690
I'm going to control V.

04:21.390 --> 04:26.700
And click the rack box and control V again and drag the spacer between the two.

04:26.700 --> 04:28.200
And we have two.

04:28.200 --> 04:33.080
And I'm going to set their sizes to 40, 40 and 4040.

04:33.090 --> 04:34.350
I think that's looking good.

04:34.350 --> 04:41.610
And their padding can be three, 3.5 even and I think that'll be just fine.

04:41.970 --> 04:44.190
So now we're using our new classes.

04:44.250 --> 04:51.600
Now the reason for this is because we need a way to handle the ability info that comes in and things

04:51.600 --> 04:53.540
are going to be treated a little bit differently.

04:53.550 --> 04:57.810
For one, we're not ever going to have the locked icons on here.

04:57.840 --> 05:05.100
These are going to be set to cleared with no background and no icon until an ability has actually been

05:05.100 --> 05:06.120
broadcast.

05:06.300 --> 05:07.650
And we'll get to all of that.

05:07.650 --> 05:11.130
For now, I just want to let's save all.

05:12.110 --> 05:14.300
And see if I can broadcast.

05:16.000 --> 05:23.530
All of my ability info so that my equipped abilities row can at least show I want to see my left mouse

05:23.530 --> 05:25.240
button ability right there.

05:25.270 --> 05:26.940
That's all I want to see.

05:26.950 --> 05:33.760
And if I take a look at my c plus plus classes, I'm just going to close all tabs and go to spell menu

05:33.760 --> 05:34.810
Widget Controller.

05:34.810 --> 05:37.660
Here's broadcast initial values here.

05:37.660 --> 05:45.610
I can broadcast my ability info with broadcast ability info that comes from now our Aura widget controller,

05:45.610 --> 05:48.550
which does all the stuff we've already iterated over.

05:48.580 --> 05:52.300
This is going to result in broadcasting ability info.

05:52.330 --> 05:55.060
Now in the spell menu widget controller.

05:55.060 --> 05:57.010
We can use it here as well.

05:57.010 --> 06:02.740
So now that I'm calling that, I'm just going to close the editor and we're going to broadcast ability

06:02.740 --> 06:03.670
info here.

06:03.910 --> 06:06.400
So compiling and launching the editor.

06:07.650 --> 06:11.220
We can go ahead and open up our equipped spell row.

06:11.250 --> 06:14.280
Now, each of these uses our equipped row button now.

06:14.610 --> 06:19.560
So if we go into equipped row button, we can go into its graph.

06:20.170 --> 06:22.660
And we're doing a couple things here.

06:22.690 --> 06:27.820
We're getting our widget controller and casting to overlay widget controller, but actually we don't

06:27.820 --> 06:34.030
want to use overlay widget controller anymore and we don't need the variable BP overlay widget controller

06:34.030 --> 06:34.780
either.

06:35.560 --> 06:37.000
I'm just going to delete that.

06:37.030 --> 06:41.110
What we need is our spell menu widget controller instead.

06:41.930 --> 06:48.470
Now equipped spell row could go through and set all the widget controllers for each of its children,

06:48.500 --> 06:51.650
making sure they all have their widget controllers set.

06:51.680 --> 06:58.930
Because if it does that, then they can have a chance to bind to that delegate ability info delegate.

06:58.940 --> 07:05.960
So our equipped spells row should do that, and that means each of these should be named appropriately.

07:06.050 --> 07:16.250
So this one can be called we'll just call it Globe Underscore LMB and we'll just call these each Globes,

07:16.250 --> 07:17.450
even though they're globe buttons.

07:17.450 --> 07:18.610
But that's okay.

07:18.620 --> 07:20.600
This one will be Globe R&amp;B.

07:22.210 --> 07:24.220
This one can be globe one.

07:26.450 --> 07:29.180
And we'll continue renaming all of them.

07:29.920 --> 07:31.240
This one is to.

07:33.510 --> 07:34.860
This one is three.

07:36.830 --> 07:41.750
We have four and we have the two passives.

07:41.750 --> 07:51.830
So I'll just call this one globe passive underscore one, and this one will be globe passive underscore

07:51.830 --> 07:52.550
two.

07:52.580 --> 07:58.730
So now that we have them all named, we can make sure they're all variables by holding shift and selecting

07:58.730 --> 07:59.150
them all.

07:59.150 --> 08:03.560
And checking is variable and back in the graph we can set them all.

08:03.590 --> 08:05.750
We can set all their widget controllers.

08:05.750 --> 08:13.160
Now the equipped spells row really could set its own widget controller or the spell menu could set its

08:13.160 --> 08:14.330
widget controller.

08:14.480 --> 08:21.110
Now the reason for the spell menu to set its widget controller, allowing it to set its child widget

08:21.110 --> 08:24.800
controllers is that we can control the timing of things here.

08:24.920 --> 08:31.400
You see, as soon as we get the spell menu, widget controller and set it here, that can cascade a

08:31.400 --> 08:35.240
chain reaction of all child widgets setting their widget controllers.

08:35.240 --> 08:39.240
And then after all that, we can broadcast initial values.

08:39.240 --> 08:43.530
And that's exactly where broadcast ability info will happen.

08:43.620 --> 08:50.880
So what we want to do is make sure all widget controllers are set before broadcast initial values happens.

08:50.910 --> 08:58.620
That means here in the spell menu widget controller, we can take our equipped spell row and set its

08:58.620 --> 08:59.610
widget controller here.

08:59.610 --> 09:01.860
So I'm going to check is variable for it.

09:01.890 --> 09:04.410
Come in here and.

09:05.390 --> 09:07.400
Grab equipped spell row.

09:08.080 --> 09:10.120
Call Set Widget controller.

09:11.650 --> 09:13.780
And pass in widget controller.

09:15.250 --> 09:20.380
We know that widget controller will be set now because we're calling set widget controller.

09:20.650 --> 09:26.320
And now the equipped spell row will have its widget controller set and as soon as that widget controller

09:26.320 --> 09:34.300
is set for equipped spell row, then equipped spell row can have its widget controller set event set.

09:34.330 --> 09:38.980
Right here we can implement widget controller set event.

09:39.130 --> 09:45.490
And once that's set, it can now set all of its child widgets globes one through passive to.

09:46.440 --> 09:52.620
I can set their widget controller so we can take globe one, grab it, call set, widget controller.

09:53.370 --> 09:57.930
And we know that widget controller is set so we can get widget controller.

10:00.560 --> 10:01.760
And we can set it.

10:02.760 --> 10:03.840
Right here.

10:06.250 --> 10:09.490
So I'm going to move widget controller up here so we don't confuse it.

10:09.490 --> 10:14.470
Actually, I'll put it right there and then we can set to through passive to all the rest of them.

10:14.470 --> 10:16.150
So let's time lapse that.

10:26.690 --> 10:31.570
Okay, so we've now set the widget controllers in widget controller set.

10:31.580 --> 10:38.090
So now all of its child globe buttons will have their widget controller set as long as it has its widget

10:38.090 --> 10:39.170
controller set.

10:41.430 --> 10:44.010
I'm going to collapse this to a function called.

10:46.510 --> 10:53.200
Either set widget controllers or we could call it set child widget controllers either way, but I'll

10:53.200 --> 10:54.910
call it set widget controllers.

10:54.910 --> 10:57.940
And now this will have its widget controllers set.

10:57.940 --> 11:06.550
And as soon as their widget controllers are set, they can then assign an event to ability info delegate.

11:06.550 --> 11:10.360
So what we can do is we can get widget controller.

11:15.680 --> 11:20.720
We can cast it to spell menu widget controller.

11:20.750 --> 11:22.790
We'll use the BP version.

11:22.790 --> 11:26.720
We can promote that to a variable BP.

11:26.750 --> 11:27.590
Spell Menu.

11:27.590 --> 11:29.030
Widget Controller.

11:30.800 --> 11:33.950
We can comment this set widget controller.

11:34.490 --> 11:36.170
We'll say set spell menu.

11:37.400 --> 11:38.900
Widget controller.

11:38.930 --> 11:40.430
Put that up here.

11:41.640 --> 11:42.900
Add a sequence.

11:44.690 --> 11:51.530
And then we can take BP spell menu, widget controller and use the ability info delegate.

11:51.560 --> 11:53.000
We can assign that.

11:53.610 --> 11:55.830
And what do we want to do?

11:55.860 --> 12:02.940
Well, we want to set our ability icon right, based on the info that comes through.

12:02.970 --> 12:04.620
We can break that struct.

12:05.270 --> 12:08.660
And we can see what its ability tag is.

12:08.840 --> 12:15.770
Now, here's one of the differences between the equipped row button and the other buttons in the spell

12:15.800 --> 12:16.190
menu.

12:16.190 --> 12:18.290
These ones in the spell trees.

12:18.290 --> 12:25.550
When ability info is broadcast, these buttons down here need to check the ability info for its input

12:25.580 --> 12:26.300
tag.

12:26.330 --> 12:29.810
They need to see if it's LMB, R&amp;B or whatever.

12:29.840 --> 12:32.420
They don't really care what the ability is.

12:32.450 --> 12:37.880
They care about the input tag, but the spell trees don't care about the input tag.

12:37.880 --> 12:40.190
They care about the ability tag.

12:40.190 --> 12:44.270
The ability for Firebolt will always be this one down here at the bottom left.

12:44.270 --> 12:46.040
It'll never be this one or that one.

12:46.040 --> 12:49.910
We won't be able to reassign their position in the tree.

12:50.030 --> 12:53.420
We'll only be able to reassign their input down here.

12:53.420 --> 12:55.220
So that's why these are different.

12:55.220 --> 13:01.340
And their implementations of their events that respond to the delegate broadcast will be different.

13:01.370 --> 13:08.400
The equipped row button is going to check input tag, which means it needs its own input tag variable.

13:08.400 --> 13:12.660
We need to add a variable called input tag.

13:12.660 --> 13:15.030
It needs to be a gameplay tag.

13:17.670 --> 13:22.920
And I'm going to check the eye icon, make it instance editable and in equip spells row.

13:22.950 --> 13:27.050
We're going to set the input tags for all of them.

13:27.060 --> 13:30.180
So we'll just do it here in the details panel.

13:30.210 --> 13:33.990
That way they have default values and we won't ever change them here.

13:34.500 --> 13:35.880
This one will be.

13:36.570 --> 13:38.060
Input tag lab.

13:38.550 --> 13:40.980
This one will be R&amp;B.

13:41.430 --> 13:43.680
This one will be one.

13:45.040 --> 13:46.240
And to.

13:47.710 --> 13:48.670
Three.

13:50.510 --> 13:51.530
For.

13:53.080 --> 13:55.280
And then, of course, our passives.

13:56.660 --> 13:59.990
Now we don't have input tags for the passive abilities, do we?

14:00.020 --> 14:04.370
So we'll make a note to add those before we wrap up.

14:04.370 --> 14:07.820
In this video, we'll make passive one and passive two.

14:07.940 --> 14:15.050
So now that these have their input tags set, then our buttons can check the ability info.

14:15.050 --> 14:21.680
When the broadcast is made, we can take that input tag, we can call matches, tag check, exact match

14:21.680 --> 14:24.620
and check to see if it matches our input tag.

14:24.620 --> 14:33.920
If it does, we'll have a branch, we'll hook it up and we can update our icon and background material

14:34.070 --> 14:36.380
so we can take image icon.

14:37.710 --> 14:38.580
And call.

14:38.580 --> 14:39.750
Set brush.

14:41.260 --> 14:46.510
And we can even call, set brush from texture and take the icon and hook it straight in.

14:53.350 --> 14:54.160
There we go.

14:54.640 --> 14:57.580
And we can also take our image background.

14:58.550 --> 15:02.300
Call, set brush and we can even call set brush from material.

15:03.560 --> 15:06.110
And we can pass in the background material.

15:10.270 --> 15:11.380
And with that.

15:11.770 --> 15:14.200
We can compile, we can save.

15:14.200 --> 15:24.130
We can launch, we can open the spells menu and nothing happens because we need to go into the spell

15:24.160 --> 15:24.850
menu.

15:24.850 --> 15:30.400
And as soon as those widget controllers are set, we need to broadcast initial values and then that

15:30.400 --> 15:32.980
ability info delegate will be broadcast.

15:33.010 --> 15:40.420
So what we should do when we set our spell menu widget controller is our spell menu should cast it to

15:40.420 --> 15:44.200
spell menu, widget controller blueprint and promote it to a variable.

15:44.620 --> 15:49.600
It doesn't have to cast it to the blueprint, but I like to just in case we add things to the blueprint

15:49.600 --> 15:50.460
that we need.

15:50.470 --> 15:54.070
So what we'll do is we'll do that cast real quick.

15:55.580 --> 15:58.460
So take spell menu widget controller that we get.

15:59.000 --> 16:00.500
Cast a spell menu.

16:00.500 --> 16:01.700
Widget Controller.

16:03.280 --> 16:03.820
Like.

16:03.820 --> 16:07.180
So we'll promote it to a variable.

16:08.590 --> 16:11.920
Called BP Spell Menu Widget controller.

16:13.240 --> 16:14.740
Now we have that.

16:16.930 --> 16:19.810
And we'll just use that here.

16:23.830 --> 16:26.650
And we'll have different steps for each stage.

16:26.650 --> 16:29.670
We'll have this part where we're setting the widget controller.

16:29.680 --> 16:32.170
So we'll say set spell menu.

16:32.170 --> 16:33.790
Widget controller.

16:36.070 --> 16:41.140
After that, we'll set the widget controllers for the spell menu itself.

16:41.170 --> 16:45.070
In fact, we should have it set its own widget controller ASAP.

16:45.340 --> 16:46.570
Right up here.

16:48.490 --> 16:54.040
And then the next step will just be setting all child widget controllers down here and we'll eventually

16:54.040 --> 16:55.240
collapse that to a function.

16:55.240 --> 16:57.370
But for now, we'll just say.

16:58.110 --> 17:03.810
Comment set sub widget Widget controllers.

17:06.580 --> 17:13.570
And as soon as we've done that, we can broadcast initial values by taking BP spill menu, widget controller

17:13.570 --> 17:14.920
and calling.

17:15.870 --> 17:18.060
Broadcast initial values.

17:18.690 --> 17:19.920
Hooking that up.

17:22.400 --> 17:24.920
Commenting it saying broadcast.

17:26.790 --> 17:29.010
Initial values.

17:35.500 --> 17:42.040
And now that we're actually broadcasting those values, moment of truth, let's see if we can see.

17:43.010 --> 17:46.820
Our ability and we can and it works.

17:46.820 --> 17:52.520
And we can even go into that ability and change its default input to, say, one of the other inputs.

17:52.520 --> 17:58.400
Let's go, let's just do that real quick just to see we'll go to ability system, aura abilities, fire

17:58.400 --> 18:04.100
Firebolt Firebolt and we'll change its default start up input tag here.

18:04.100 --> 18:05.510
Start up input tag.

18:05.660 --> 18:07.940
Well, let's change it to for.

18:09.570 --> 18:13.710
And it's way over there at four and it's way over there at four.

18:14.310 --> 18:16.620
Excellent, excellent, excellent.

18:16.710 --> 18:18.630
So last couple things to do.

18:18.660 --> 18:26.130
One is we need to add a input tag for passives one and two, just so we can identify them by their input

18:26.160 --> 18:33.150
tags, even though we won't be pressing input to activate them necessarily, we'll still use that to

18:33.150 --> 18:33.930
identify them.

18:33.930 --> 18:36.240
So that's one thing we have to do.

18:36.420 --> 18:43.440
Another thing I want to do is to make our equip spell row globes empty by default.

18:43.440 --> 18:52.350
So I'd like a convenient function that will set their icon and background render opacities to 0 or 1

18:52.350 --> 18:54.000
like show and hide them.

18:54.000 --> 18:56.850
So a nice, easy function to use for that.

18:56.940 --> 18:59.310
And then we'll hide them by default.

19:00.070 --> 19:02.120
And we'll show them when we set them.

19:02.140 --> 19:09.190
And that way, if we reassign an ability from one to another, then we can set it back to empty looking.

19:09.190 --> 19:16.150
So what we'll do is we'll have just a clear and an unclear I suppose would be good function names.

19:16.150 --> 19:23.110
So we'll just have right here an event pre construct just after updating box size and actually I'm in

19:23.110 --> 19:23.890
equip spells row.

19:23.920 --> 19:27.760
Let's go to the button itself equip spells button.

19:27.760 --> 19:32.530
We will collapse that to a function later but in pre construct here let's clear things.

19:32.530 --> 19:36.640
We're going to have our image background and our image icon.

19:36.850 --> 19:38.680
Those are both variables.

19:38.680 --> 19:43.600
So we can take image, background and image icon.

19:43.600 --> 19:47.740
And I just want to functions on and off, clear and unclear.

19:48.530 --> 19:49.370
Clear and show.

19:49.400 --> 19:50.360
I guess so.

19:50.360 --> 19:52.150
We'll have image background.

19:52.160 --> 19:53.450
We'll call set.

19:53.480 --> 19:55.220
Render opacity.

19:56.680 --> 19:58.200
And it'll be zero.

19:58.210 --> 20:01.600
We'll call set render opacity for image icon.

20:04.820 --> 20:06.230
Passing in zero.

20:09.060 --> 20:09.540
Right.

20:09.540 --> 20:12.540
So if we compile by default, it's empty.

20:12.570 --> 20:16.560
This will be the function called Clear icon or Clear globe.

20:16.560 --> 20:18.000
We'll call it Clear Globe Collapse.

20:18.000 --> 20:21.720
The function Clear globe.

20:22.380 --> 20:23.850
We already made that clear.

20:23.850 --> 20:30.360
Globe clears the it sets the image background actually to the transparent brush.

20:30.360 --> 20:34.980
So since we already have that, we could just use the clear globe function.

20:34.980 --> 20:38.040
So this new function, I'm just going to use this.

20:39.090 --> 20:42.120
The clear globe was setting the brush to the transparent brush.

20:42.120 --> 20:46.320
I suppose we could either do that or we could set the render opacity.

20:46.470 --> 20:49.860
Setting it to the transparent brush seems kind of convenient.

20:49.860 --> 20:57.030
So I think I might set image, background and image icon both to the transparent brush.

21:02.110 --> 21:04.360
And we'll delete that new function.

21:05.780 --> 21:06.920
So back up here.

21:06.920 --> 21:08.000
We don't need the new function.

21:08.000 --> 21:09.740
We'll just call Clear Globe.

21:10.980 --> 21:18.360
And now that we're setting the brush to a transparent brush, every time we update the brush, we have

21:18.360 --> 21:24.780
to actually call set brush because set brush from texture will change the texture of the brush.

21:24.780 --> 21:29.490
But if it has that transparent brush, then it'll still be transparent.

21:29.490 --> 21:35.790
So instead of set brush from texture and material, we're going to take Image icon and just call set

21:35.820 --> 21:36.570
brush.

21:36.660 --> 21:39.570
We'll do the same thing with image background.

21:39.570 --> 21:42.990
We'll just call, set, brush, hook those up to true.

21:42.990 --> 21:48.420
And what we can do is make a new brush we can drag off of in brush.

21:48.420 --> 21:50.160
We can make a slate brush.

21:51.320 --> 21:55.250
And for our icon, we're going to use the icon.

21:55.400 --> 21:58.490
So I'll drag the icon into the image here.

21:59.670 --> 22:05.610
And for the image background, we'll use make slate brush.

22:05.610 --> 22:09.750
And for this one we'll use the background material for the image.

22:10.580 --> 22:13.870
And we'll hook that up to that and that's going to work.

22:13.880 --> 22:16.340
Let's go ahead and press play.

22:16.340 --> 22:23.570
And there we see everything else is empty except for the one ability we have.

22:23.570 --> 22:29.150
And I'm going to go to GA Firebolt and set its input tag back to Lab.

22:31.080 --> 22:32.220
So there it is.

22:32.220 --> 22:33.240
Opening spell menu.

22:33.240 --> 22:34.580
There it is.

22:34.590 --> 22:35.640
Perfect.

22:35.910 --> 22:43.980
So this stuff here, when our ability info delegate event is received, we can collapse this to a function

22:43.980 --> 22:45.750
for our equipped row button.

22:45.750 --> 22:47.190
So let's do that.

22:47.940 --> 22:49.080
We'll call it.

22:49.910 --> 22:52.580
Receive ability info.

22:54.580 --> 22:58.510
And it's all nice and tidy right there.

22:59.750 --> 23:04.220
And the comment will say receive ability info.

23:05.900 --> 23:06.740
Beautiful.

23:08.470 --> 23:09.070
All right.

23:09.070 --> 23:13.150
So that does basically everything we needed to do in this video.

23:13.180 --> 23:17.800
We're now finally receiving some data in our spell menu.

23:17.830 --> 23:26.890
The last thing I'll do is I'll just close the engine, go into our aura gameplay tags, CPP and header,

23:26.890 --> 23:32.260
and we'll make two new input tags for the passive abilities.

23:32.290 --> 23:35.920
I'll just copy LMB and R&amp;B and paste them down here.

23:35.960 --> 23:43.690
Call these input tag passive underscore one and we'll have input tag passive two.

23:44.770 --> 23:46.090
And we'll go ahead and make these.

23:46.090 --> 23:47.470
Let's go into.

23:48.540 --> 23:49.440
The CP.

23:50.620 --> 23:52.930
Find our other input tags.

23:54.990 --> 24:00.120
And we'll just go ahead and make two more.

24:00.570 --> 24:07.740
So copying two of them, pasting them, this one will be input tag, passive one, and its name will

24:07.740 --> 24:10.530
be input tag passive dot one.

24:10.800 --> 24:16.200
And it'll say input tag for passive ability one.

24:18.330 --> 24:21.690
And then we'll have input tag passive two.

24:23.270 --> 24:25.490
The tag itself will be input.

24:25.520 --> 24:28.730
Tag passive too, and then we'll have input.

24:28.760 --> 24:33.020
Tag for passive ability too.

24:33.050 --> 24:37.490
We don't need three even though our spell menu has three and the passive spell tree.

24:37.490 --> 24:39.440
But those won't be using input tags.

24:39.440 --> 24:41.250
Those will be using ability tags.

24:41.270 --> 24:48.050
Only our equipped spells row, which only has two globes for passive need passive one and two.

24:48.170 --> 24:54.950
So we can just compile launch the editor and we can go to our equipped spell row and make sure those

24:54.950 --> 24:57.410
two globes have their input tags set.

24:59.170 --> 25:08.590
Okay, let's go ahead and open a quip spell row, select this passive globe type input tag or just input

25:08.590 --> 25:16.780
and set its input tag to input tag passive dot one and this one will be input tag dot passive dot two.

25:16.870 --> 25:19.570
And now all the input tags are set.

25:19.600 --> 25:21.940
Things are starting to look really nice.

25:21.940 --> 25:29.200
If we take a look at our spell menu, at least our equipped abilities are showing when we first open

25:29.200 --> 25:33.400
our menu our equipped abilities and we only have one.

25:33.490 --> 25:34.480
Perfect.

25:34.540 --> 25:35.170
Excellent.

25:35.170 --> 25:36.970
And really, really quick.

25:36.970 --> 25:42.010
I know I've been doing these little tweaks here and there, but I'm noticing my equip button is taller

25:42.010 --> 25:43.330
than my spin point button.

25:43.330 --> 25:45.310
I'm just going to really quickly change that.

25:45.310 --> 25:47.170
So back to my spell menu.

25:47.200 --> 25:48.820
Here's my spin point button.

25:48.820 --> 25:50.290
Its height is 60.

25:50.320 --> 25:52.690
I'm going to make this equip button.

25:52.690 --> 25:54.940
Also have a height of 60.

25:55.960 --> 25:57.160
It was 65.

25:57.160 --> 26:00.550
So not a big change, but something I wanted to do.

26:01.060 --> 26:01.720
Okay.

26:01.900 --> 26:02.680
Great job.

26:02.680 --> 26:04.660
I'll see you in the next video.
