Доброго времени суток знающим людям!) Пытаюсь реализовать функционал выхода из аккаунта в своем скрипте, но получаю только краш игры.
Пробовал следующее:
1.
ServicesLocator.gameplay.goToLoginByEvent()
— всё, кроме goToLoginByEvent() (вызывается в game.onDisconnected()), крашит игру, а этот метод выкидывает в меню логина с ошибкой, но при попытке опять войти в аккаунт пишет "Вы отключены от сервера"
2.
app = self.app_loader.getApp()
dialogsContainer = app.containerManager.getContainer(WindowLayer.TOP_WINDOW)
if not dialogsContainer.getView(criteria={POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.LOBBY_MENU}):
g_eventBus.handleEvent(events.LoadViewEvent(SFViewLoadParams(VIEW_ALIAS.LOBBY_MENU)),
scope=EVENT_BUS_SCOPE.LOBBY)
time.sleep(1)
view = dialogsContainer.getView(criteria={POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.LOBBY_MENU})
view.logoffClick()
time.sleep(1)
view1 = dialogsContainer.getView(criteria={POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.SIMPLE_DIALOG})
view1._callHandler(DIALOG_BUTTON_ID.SUBMIT)
— с помощью dialogs container получаю инстансы окон (Главное меню -> "Отключиться от сервера") и у них вызываю нужные методы. При клике в диалоговом окне "Отключиться от сервера" на "Да" крашится игра
3.
BigWorld.player().onBecomeNonPlayer()
— вызываю метод onBecomeNonPlayer у инстанса PlayerAccount - краш
Если кто-то подскажет решение, буду премного благодарен!. На форуме искал что-то подобное — не нашёл.