Time for action – Hidecategories
Let's take a look at our AwesomeWeaponUpgrade
actor.
Let's change the top line of our
AwesomeWeaponUpgrade
actor to the following:class AwesomeWeaponUpgrade extends AwesomeActor hidecategories(Attachment,Physics,Debug,Object) placeable;
Note that the class declaration line doesn't end until the semicolon, and it's perfectly fine to spread it across a few lines to keep it readable.
Compile the code and take a look at the properties in the editor again.
There are a lot less this time!
What just happened?
The hidecategories modifier should only be used when you're sure that a level designer isn't going to need to change any variables in that category. It doesn't get rid of any variables; it just hides them from the editor. This modifier is inherited, and if we wanted to reverse a hidecategories modifier in a subclass we would use the showcategories modifier, for example this hypothetical subclass:
class SomeOtherUpgrade extends AwesomeWeaponUpgrade ...