Controller:
1.操纵Pawn,运行逻辑。
2.管理一些数据。
Controller有一个指针PlayerState:
PlayerState和UPlayer对应的,同时管理一些数据。
思考:哪些数据应该放在PlayerState中?
从应用范围上来说,PlayerState表示的是玩家的游玩数据,所以那些关卡内的其他游戏数据就不应该放进来(GameState是个好选择),另外Controller本身运行需要的临时数据也不应该归PlayerState管理。而玩家在切换关卡的时候,APlayerState也会被释放掉,所有PlayerState实际上表达的是当前关卡的玩家得分等数据。这样,那些跨关卡的统计数据等就也不应该放进PlayerState里了,应该放在外面的GameInstance,然后用SaveGame保存起来。
PlayerController:控制玩家,在任一刻,Player:PlayerController:PlayerState是1:1:1的关系
AAIController:控制AI
查看原文: