MCPcopy Create free account
hub / github.com/codecombat/codecombat / startLevel

Method startLevel

app/views/play/CampaignView.js:1971–2000  ·  view source on GitHub ↗
({ levelOriginal, levelSlug, courseID, courseInstanceID, levelPath, levelName })

Source from the content-addressed store, hash-verified

1969 }
1970
1971 startLevel ({ levelOriginal, levelSlug, courseID, courseInstanceID, levelPath, levelName }) {
1972 this.setupManager?.destroy()
1973 const classroomLevel = this.classroomLevelMap?.[levelOriginal]
1974 const session = this.preloadedSession?.loaded && this.preloadedSession.levelSlug === levelSlug ? this.preloadedSession : null
1975 const codeLanguage = classroomLevel?.get('primerLanguage') || this.classroom?.get('aceConfig')?.language || session?.get('codeLanguage')
1976 const fromCampaign = this.campaign?.get('slug') || this.terrain
1977 const options = {
1978 supermodel: this.supermodel,
1979 levelID: levelSlug,
1980 levelPath,
1981 levelName,
1982 campaign: this.campaign,
1983 hadEverChosenHero: this.hadEverChosenHero,
1984 parent: this,
1985 session,
1986 courseID,
1987 courseInstanceID,
1988 codeLanguage,
1989 fromCampaign,
1990 }
1991 this.setupManager = new LevelSetupManager(options)
1992 if (!this.setupManager?.navigatingToPlay) {
1993 this.$levelInfo?.find('.level-info, .progress').toggleClass('hide')
1994 this.listenToOnce(this.setupManager, 'open', () => {
1995 this.$levelInfo?.find('.level-info, .progress').toggleClass('hide')
1996 this.$levelInfo?.hide()
1997 })
1998 this.setupManager.open()
1999 }
2000 }
2001
2002 onClickViewSolutions (e) {
2003 const levelElement = $(e.target).closest('.level-info-container')

Callers 2

onClickStartLevelMethod · 0.95
onClickCourseVersionMethod · 0.95

Calls 4

destroyMethod · 0.45
getMethod · 0.45
hideMethod · 0.45
openMethod · 0.45

Tested by

no test coverage detected