Lessons from yesterday:
- Be sure to use recycling offsets/queues/etc. hao youyong.
- Still not quite sure I understanding the adding of events to the event manager, at least in terms of why you do something like "GameEventManager.GameOver += GameOver"...
- this, because it refers to an object, can't be used in a static method. (Again, because static vars/methods are independent of any object instances.)
Some basic OOP compartmentalization stuff:
- By putting a manager in betweenÂ RunnerÂ and the GUI, we make both independent of each other. TheÂ
RunnerÂ class doesn't deal with GUI details, only with runner details.
- If we were to change the GUI â€“ like using icons to display boosts instead of a label â€“ we only need to modify
GUIManager, the rest of the game doesn't care about the change.
- We could go one step further and not makeÂ
RunnerÂ call the GUI manager at all. Then it would be up toÂ
GUIManagerÂ to get the boost count fromÂ
RunnerÂ instead. However, then the manager must know details about the runner, which it really shouldn't. Complete decoupling might be achieved by using an event for this, but that's a rather heavy-handed approach for a straightforward case like this. A simple call to a manager is fine.
Finished the Catlikecoding tutorials…awesome!
- What is emitter velocity scale?
- TheÂ Emitter Velocity ScaleÂ should be 0 so movement of the emitter doesn't affect the initial velocity of the particles