The super
From our lessons on inheritance, we know that when we override a function we completely change the functionality of it. But what if we still want the functionality of the superclass, we just want to add to it? We've used it before, so let's talk about the super real quick.
Calling the super executes the function in the superclass. When we used PostBeginPlay
in AwesomeGame
for instance, we started by writing it like this:
simulated function PostBeginPlay() { super.PostBeginPlay(); }
Instead of completely overriding it and emptying it out, this has the same effect of not having PostBeginPlay
in our class at all since all we're doing is calling the superclass's version. With that in place we started to add more functionality.
There are instances where we wouldn't want the superclass's version of the function to run at all, so we wouldn't use the call to the super. If, for example, we had a Projectile
class, the event called HitWall
calls the Explode
function. But what if this particular...