I recognize the #include preprocessor directive, including the header, where classes or functions are declared. I recognize where UPositionReport is defined. I can see the overall structure or framework, how they enable us to code in default properties, functions or processes that shall run when the game starts, and those that will run every frame. I wonder whether there are ways we can custom code other triggers for other custom code functions to go into effect, but as it is now, it seems we have these three.
In the header file I recognize all the #includes. Who knows what those header files contain. I realize you can nest or stack header files. They are just cut and paste like operations. I bet if I went to search them out for contents, it would be like an endless or difficult maze or labyrinth not worth my time at this point. I have tried going deep into code. I’m not at that level.
This is fun just rambling. It helps my thinking and slowing down. This course is awesome and I’m going to be learning a lot, I can tell. I already have- but it’s going to take time.
I recognize the class declaration for our class that we wanted to make, “UPositionReport”. BTW the name of this lesson reminds me of a corny joke I thought up, that I should get punched for. Why can’t communists become great programmers? Because they don’t believe in class! Ok I know that’s so punchworthy.
I don’t recognize what he described as the API thing before it. Questions to myself for probably later discovery: Why is it all caps? I’m sure that means nothing to the compiler but everything to humans according to coding conventions.
I kind of know what an API is but I’m still very fuzzy on them. I’ve heard that term so much.
I’ve learned a little python and I think the way you make a child class of a parent class, you have a certain syntax or punctuation, so I think that’s what they’re doing here. They’re making a child-class (our class) of the parent class UActorComponent, and using the : syntax. I’m not sure why it has to be declared public there. There is a lot I’l have to get really familiar with.
It calls a function: "GENERATED_BODY(), or is it declaring it? I doubt it’s the later because then we’d have to define it,and we probably don’t plan to define such a function. So it must be calling it, but where does it grab it? Probably from one of the header items from the #includes or maybe from the parent class. This is pure noob speculation. I don’t know that much but I hope tomorrow to be unaware of less than I am unaware of right now, and have it stack and compile over time.
So there is an eponymous function declared in our class. The class is basically named after our component and header file, and the first declared function named the same. Wasn’t that the syntax for a constructor method? Even if wrong, I would not have recalled that just going through the course. Writing this out stops me and makes my mind parse and recall all that I know. It digs stuff up. I like this format.
So why do we want that public? Do we need this function public, as opposed to just wanting it? I don’t necessarily want to rack my brain on that question yet but in time I’m sure I’ll get the hang of all this.
I don’t recognize the “protected” tag or type. I’m not even sure what term to describe that category of things as that include private, public and protected. Is that ‘scope’? When you don’t even know simple stuff it makes you feel like a kid again, who can’t articulate anything. But that’s fine. It’s actually fun. So there is a protected ‘scope’? I"ll just call it scope. I can google it but where’s the fun in that?
I also don’t recognize the ‘virtual’ “command” or “scope” or “thing” that’s there. I have no idea what that means in this context. I wonder what the etymology of the word virtual is btw. See my mind meander.
It returns a void because we don’t have this function going anywhere, being called by anything except the system to start the game, I guess. That’s just my assumption or rather my working hypothesis. It seems true. Where would a value go? To some save state?
I don’t recognize the ‘override’ string. I don’t know what to call these things. It’s so true that the more you know, the more you know that you don’t know. What is it overriding? Does it have anything to do with the fact it’s a ‘virtual’ something? In other words, do these two things go hand in hand? Because we also see it in the public scope below. The ‘override’ “thing” comes after the function, so that is interesting, just before the infamous semicolon. It gets the last word.
I guess that which begins at gameplay gets protected, whereas that which is called every frame (and are there 60 per second?) is public. There must be some reason here- some logos.
I don’t need to know necessarily where in the code of unreal “BeginGame” is located. I’ve tried digging deep in other things as I’ve said, such as wordpress. It’s beyond my paygrade at this time. Maybe some day. Maybe even in this course, but I need a guide and a good reason.
Tickcomponent- does that mean it’s a component that goes every tick (i.e. frame)? I may have to learn more about video and audio in this course, which I want to. I don’t know much about frames, graphics, etc. That would be a cool side benefit to the course.
So this function takes several arguments.
I also see the pointer we were told to look for. The pointer is nested inside the argument of a function. Are these not called methods btw? If not, is it just because it’s C++ as opposed to another programming language? So did we create a pointer called ThisTickFunction that is of a certain type?
I guess it takes three arguments, and one is overridden, and I have to go because they are closing. So many unanswered questions. This creates surface area for absorbing knowledge. I like.
I might not respond. This is kind of a journal. It was helpful.