我正在为游戏编写状态管理器。对于我想如何做到这一点,我已经掌握了大部分逻辑。我希望在 StateManager 类的堆栈中处理将是类的状态。每个状态都会有暂停功能,堆栈将是一个 STL 堆栈。
当一个状态完成了它需要做的事情(例如:从暂停屏幕,用户点击“返回游戏”),它需要从堆栈中移除并删除。我目前的逻辑(不幸的是,我无法测试)是这样的:
国家完成了它的工作。在它的更新函数中,当它发现它已经完成时,它会调用一个函数来清理状态。此函数将处理任何需要绑定的即时松散端(如果有的话),从状态管理器堆栈调用 pop 函数,并删除自身。
我要问的是:我可以从内部删除一个类吗?