Я пишу государственный менеджер для игры. У меня есть большая часть логики для того, как я хочу сделать это.
Я хочу, чтобы состояния, которые будут классами, обрабатывались в стеке в классе StateManager. Каждое состояние будет иметь функции паузы, а стек будет стеком STL.
Когда состояние завершается с тем, что ему нужно сделать (например: на экране паузы пользователь нажимает «вернуться в игру»), его необходимо удалить из стека и удалить. Моя текущая логика (которую я, к сожалению, не смог проверить) была бы такой:
Государство заканчивает свою работу.
В своей функции обновления, когда он обнаружит, что это сделано, он вызовет функцию для очистки состояния.
Эта функция позаботится о любых непосредственных свободных концах, которые необходимо связать (если они есть), вызовет функцию pop из стека менеджера состояний и удалит себя.
Я спрашиваю: могу ли я удалить класс из себя?