In the last video, we implemented our action system component and got the core functionality working.
In this video we are going to implement the action interface which will give us a sweet spot between modularity and maintainability. We are also going to improve the jump action, make our action system more flexible, and reduce coupling.
To achieve our goals we’ll dive into some key programming concepts like inheritance, polymorphism, interfaces and coupling — and see how they all come together in our flexible action system.
What You'll Learn in this video:
• Inheritance - Utilize inheritance to build on top of existing code. E.g., Base Action, plus your own additions.
• Polymorphism - Utilize Action objects of different classes (E.g., Actions) to be treated as the same type while each executes their own specific behavior.
• Interfaces - Implement Action Sets as an interface to allow multiple dissimilar classes to implement a common set of functions. E.g., ICombatActions and IMovementActions
• Coupling - Learn how to use loose coupling by reducing how much one class or module depends on another.
Key Features:
• Data-driven architecture - create new actions without touching C++
• Component-based design - works on any actor
• Built-in animation montage integration
•Professional code practices with const references and proper memory management
Part 2: • Flexible Action System (C++) Part 2 - Acti...
Next: Part 4 will cover Refactoring and Improving Flexibility!
Join our Discord server!:
/ discord
Timestamps:
0:00 - Intro
1:04 - Create Jump Action Class
1:24 - Inheritance and Polymorphism
8:04 - Implementing Jump Action
11:52 - Action Interface
22:57 - Outro