rP25071 implement CCmpUnitMotionManager, which handles motion for CCmpUnitMotion (as distinct from ICmpUnitMotion, the interface).
This is well and good, but it introduces tight coupling between these two components that can't really be well expressed in their interface, and introduces some garbage in ICmpUnitMotion that you don't need if you're implementing another interface (e.g. UnitMotionFlying).
This diff moves files around and tightly couples the actual CCmpUnitMotion with CCmpUnitMotionManager. This has a few advantages:
- makes it obvious that CCmpUnitMotionManager deals with CCmpUnitMotion, not ICmpUnitMotion
- allows devirtualising the calls from the manager to UnitMotion itself
- Cleans up the manager interface - MotionState is now part of CCmpUnitMotionManager.
- Cleans up ICmpUnitMotion interface - no need to know about the manager.
I've put them both in a single TU because why not at this point, and that's faster.
I think a similar architecture switch would be interesting for CmpObstruction/ObstructionManager, since those are also rather tightly coupled.