引擎源码中你会发现,controller中有一个PlayerState 对象,pawn中也有一个PlayerState对象,这俩PlayerState对象什么关系呢
1、pawn中的PlayerState 是 controller中PlayerState的引用
2、controller中的PlayerState对象在initPlayerState()中初始化。当possessed一个pawn的时候 会把自己的PlayerState 设置给pawn中的PlayerState对象。unpossessed的时候会把pawn中的PlayerState对象设置为null。
3、所以PlayerState是跟着controller走的,controller中的PlayerState是根源。
4、PlayerState 的getowner 就是 controller
5、PlayerState的GetPawn获得当前的pawn 有可能是null