Components! I have been working on building a component-based system into AO, and it has been working great. When I was told about components and how flexible they could be, I thought they were really cool, but unnecessary. They are still mostly unnecessary, but they do make for some clean and easy to read code, and I love that about it. I also thought that I would start building a component-based system at the leaves and work my way toward the core of the Entity, but in fact, I found it to be really easy to start at the core and move outward. The Position and Size were the first things to get converted and it went over really smoothly. All of the position and size code was stripped right out of my Entity class and made it instantly easier to figure out what was going on in the Entity. I can’t wait to pull out more components.
Oh, and I also
- Completely re-wrote the power grid and fixed all of the power grid related bugs in the process.
- Added floating damage indicators
- Refactored the event system to get rid of all the delegates and start using
Action<T>
instead