Compositional Relationships - You've Already Been Using Them | Unity C# Basics 6 | #shorts
Published: 08 Sep 2022
Full Tutorial: https://youtu.be/KbpapnyT9do
With this tutorial, aimed at absolute beginners who have very little to no coding experience whatsoever, you'll learn what Composition is and how to use it (you already are using it!). You'll learn when to use a compositional relationship versus an inheritance relationship and what the benefits are for favoring Composition over Inheritance.
If you've been using Unity for a while, or are just getting started with Unity and decided it's time for you to start learning how to write code - this is the video series you need to start your programming journey!
The AutoDestroyText/CountDownAutoDestroyText code referenced in this video is available, as always, on GitHub: https://github.com/llamacademy/unity-csharp-basics-6
This video we didn't implement anything new, so there's no new repository!
📝📝📝YOUR HOMEWORK!📝📝📝
Do some data modeling for enemies that can attack the player. Starting with 3 types:
1. Melee enemy
2. Ranged enemy
3. Boss enemy
4. Ranged and Melee attacking enemy.
Revisit your last homework to create inheritance and compositional relationships and interfaces to allow you to group common code and variables, define "can-do" relationships that allow you to extend what enemies and bosses can do in the future without significant rework.
🚨 Limited Time Unity Tools Bundle https://www.humblebundle.com/software/unity-tools-software?partner=llamasoftware&charity=2280172 Ends September 22 🚨
⚫ DestroyIt: https://assetstore.unity.com/packages/tools/physics/destroyit-destruction-system-18811?aid=1101l9QvC
📚 Resources 📚
⚫ Further reading on the topic: https://scottlilly.com/c-design-patterns-composition-over-inheritance/
⚫ C# Fundamentals - Inheritance: https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/tutorials/inheritance
⚫ C# Access Modifiers: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers
⚫ C# Interface: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/interface
⚫ C# Virtual: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/virtual
⚫ C# Overriding methods: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords
Full Series Playlist Here: https://www.youtube.com/watch?v=SXaa61JWLDw&list=PLllNmP7eq6TTjwoyfRYAAFOH1sMHVgI1r
⚫ Part 1 - Writing your first script
⚫ Part 2 - Loops and Arrays
⚫ Part 3 - Unity Component Lifecycle
⚫ Part 4 - Static vs Instances
⚫ Part 5 - Delegates
⚫ Part 6 - Inheritance & Interfaces
⚫ Part 7 - You are here 😉
📱 Let's stay connected
YouTube: https://youtube.com/c/LlamAcademy
Patreon: https://www.patreon.com/llamacademy
Facebook: https://facebook.com/LlamAcademyOfficial
Twitter: https://twitter.com/TheLlamAcademy
TikTok: https://tiktok.com/@LlamAcademy