Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Learning Design Patterns with Unity
  • Table Of Contents Toc
Learning Design Patterns with Unity

Learning Design Patterns with Unity

By : Harrison Ferrone
4.8 (31)
close
close
Learning Design Patterns with Unity

Learning Design Patterns with Unity

4.8 (31)
By: Harrison Ferrone

Overview of this book

Struggling to write maintainable and clean code for your Unity games? Look no further! Learning Design Patterns with Unity empowers you to harness the fullest potential of popular design patterns while building exciting Unity projects. Through hands-on game development, you'll master creational patterns like Prototype to efficiently spawn enemies and delve into behavioral patterns like Observer to create reactive game mechanics. As you progress, you'll also identify the negative impacts of bad architectural decisions and understand how to overcome them with simple but effective practices. By the end of this Unity 2023 book, the way you develop Unity games will change. You'll emerge not just as a more skilled Unity developer, but as a well-rounded software engineer equipped with industry-leading design patterns.
Table of Contents (23 chapters)
close
close
21
Other Books You May Enjoy
22
Index

Using a hierarchical state machine

Now that our FSM is working, it’s only natural to start thinking about sharing behavior across states. Luckily, OOP already provides the answer: just use the existing class hierarchy!

Since all our battle states inherit from BaseBattleState, we can add the logic we want every subclass to have access to without duplicating it in each state script. Then, we can call the base class from each state whenever we want to defer the action. In our example, imagine we want to be able to pause and unpause the game at any time, but also prevent the player state from listening for key presses when the game is paused.

Open BaseBattleState and update it to match the following code block, which overrides the HandleInput method, listens for the spacebar key press, and toggles the pause state using the Manager script.

public class BaseBattleState : State
{
    protected BattleSM _stateMachine;
    public BaseBattleState(BattleSM sm)
    {
  ...
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Learning Design Patterns with Unity
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon