Yes, that is indeed the pattern I was using. The player controller isn’t possessing multiple pawns, I wouldn’t have thought it can. It only posseses a camera Pawn at game start.
The player controller was calling the MoveToFoo()
methods on the pawns possessed by AIControllers. I’ve had to move the MoveToFoo()
call into the AIController itself though as it seems to be the only way to maintain the reference to the Pawn that’s just finished being moved when that method completes. That part is what was bugging me as I’d rather that was all contained in the PlayerController being the class that is meant to be managing the Pawns/AIControllers, and that would avoid one extra Event callback as this kickstarts a series of event calls that goes up to GameMode for server processing and back to PlayerController as it is.
I’ve resigned to do it that way now, but it would be nice if the MoveToFoo()
methods gave a reference to the pawn that just finished moving when returning on the finished execution pin.