Sitemap
CodeX

Everything connected with Tech & Code. Follow to join our 1M+ monthly readers

Member-only story

RTS Interlude #2: Refactoring the event system (Unity/C#)

3 min readMay 14, 2021

--

⬅️ Tutorial #10: Moving the camera| TOC | Tutorial #11: Adding a day-and-night cycle ➡️

📕 Get the ebook and bonus material on Gumroad!
🚀 Find the code of this tutorial series on my Github!

Several weeks ago, we implemented a simple event mechanism that allows us to better separate the systems in our game and avoid too-strict relationships. The first draft was meant to be very explicit and, because our class hierarchy was not as clearly defined as it is now, it was easier to use an intermediate struct, CustomEventData, to represent the type of data that could be sent in an event.

However, this implementation is far from ideal. In particular, if we start adding more and more data types to our events, we’ll have to remember to add fields to this CustomEventData struct and update all constructors. And differentiating between "typed" and "not-typed" events was important at first to understand the event system well, but it's a bit user-unfriendly in the long run.

Now that we’re more fluent with C# and type casting (especially thanks to our multiple glances at polymorphism and…

--

--

Mina Pêcheux
Mina Pêcheux

Written by Mina Pêcheux⁠

I’m a solo game dev & content creator. I love to make and talk about games (and also 3D and music)! Find me at: https://minapecheux.com :)

CodeX
CodeX

Published in CodeX

Everything connected with Tech & Code. Follow to join our 1M+ monthly readers