override fun update()

in src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/PlayActions.kt [91:108]


    override fun update(e: AnActionEvent) {
        val project = e.project
        if (project == null) {
            e.presentation.isEnabledAndVisible = false
            return
        }
        val host = UnrealHost.getInstance(project)
        val settings = UnrealLogPanelSettings.getInstance(project)

        e.presentation.isVisible = host.isUnrealEngineSolution && settings.showPlayButtons
        e.presentation.isEnabled = host.isConnectedToUnrealEditor &&
                host.model.isGameControlModuleInitialized.value

        if (e.presentation.isEnabled) {
            val state = PlayStateActionStateService.getInstance(project)
            e.presentation.isEnabled = !state.isDisabledUntilStateChange()
        }
    }