mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-02-17 08:50:58 -05:00
Refactored the GameMenu to be part of play.js. Set up the config to automatically bundle templates into their respective views, if their names match.
This commit is contained in:
parent
1c33842125
commit
9b5228afd9
26 changed files with 34 additions and 24 deletions
|
@ -9,7 +9,6 @@ module.exports = ModuleLoader = class ModuleLoader extends CocoClass
|
|||
@WADS = [
|
||||
'lib'
|
||||
'views/play'
|
||||
'views/game-menu'
|
||||
'views/editor'
|
||||
]
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CocoClass = require 'core/CocoClass'
|
||||
PlayHeroesModal = require 'views/play/modal/PlayHeroesModal'
|
||||
InventoryModal = require 'views/game-menu/InventoryModal'
|
||||
InventoryModal = require 'views/play/menu/InventoryModal'
|
||||
LevelSession = require 'models/LevelSession'
|
||||
SuperModel = require 'models/SuperModel'
|
||||
ThangType = require 'models/ThangType'
|
||||
|
|
|
@ -13,7 +13,7 @@ block content
|
|||
each campaign in campaigns
|
||||
.campaign-container.col-sm-6
|
||||
h1
|
||||
a(href="/play/#{campaign.levels[0].levelPath || 'level'}/#{campaign.levels[0].id}", data-i18n="play.campaign_#{campaign.id}")= campaign.name
|
||||
a(href="/play#{campaign.levels[0].levelPath || 'level'}/#{campaign.levels[0].id}", data-i18n="play.campaign_#{campaign.id}")= campaign.name
|
||||
p.campaign-description(data-i18n="[html]play.campaign_#{campaign.id}_description")!= campaign.description
|
||||
each level in campaign.levels
|
||||
a(href=level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.id}", disabled=level.disabled, class=levelStatusMap[level.id] || '')
|
|
@ -87,4 +87,4 @@ if ladderGame
|
|||
|
||||
.ladder-submission-view
|
||||
else
|
||||
a.btn.btn-primary(href="/play/ladder/#{levelSlug}#my-matches", data-i18n="multiplayer.victory_go_ladder") Return to Ladder
|
||||
a.btn.btn-primary(href="/play/ladder#{levelSlug}#my-matches", data-i18n="multiplayer.victory_go_ladder") Return to Ladder
|
|
@ -1,5 +1,5 @@
|
|||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/community'
|
||||
template = require 'templates/community-view'
|
||||
|
||||
module.exports = class CommunityView extends RootView
|
||||
id: 'community-view'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/home'
|
||||
template = require 'templates/home-view'
|
||||
|
||||
module.exports = class HomeView extends RootView
|
||||
id: 'home-view'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
ModalView = require 'views/core/ModalView'
|
||||
template = require 'templates/modal/model'
|
||||
template = require 'templates/modal/model-modal'
|
||||
|
||||
module.exports = class ModelModal extends ModalView
|
||||
id: 'model-modal'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/main-play-view'
|
||||
template = require 'templates/play/main-play-view'
|
||||
LevelSession = require 'models/LevelSession'
|
||||
CocoCollection = require 'collections/CocoCollection'
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@ CocoView = require 'views/core/CocoView'
|
|||
template = require 'templates/play/level/control_bar'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
GameMenuModal = require 'views/game-menu/GameMenuModal'
|
||||
GameMenuModal = require 'views/play/menu/GameMenuModal'
|
||||
RealTimeModel = require 'models/RealTimeModel'
|
||||
RealTimeCollection = require 'collections/RealTimeCollection'
|
||||
LevelSetupManager = require 'lib/LevelSetupManager'
|
||||
GameMenuModal = require 'views/game-menu/GameMenuModal'
|
||||
GameMenuModal = require 'views/play/menu/GameMenuModal'
|
||||
CampaignOptions = require 'lib/CampaignOptions'
|
||||
|
||||
module.exports = class ControlBarView extends CocoView
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
ModalView = require 'views/core/ModalView'
|
||||
template = require 'templates/game-menu/game-menu-modal'
|
||||
template = require 'templates/play/menu/game-menu-modal'
|
||||
submenuViews = [
|
||||
require 'views/game-menu/SaveLoadView'
|
||||
require 'views/game-menu/OptionsView'
|
||||
require 'views/game-menu/GuideView'
|
||||
require 'views/game-menu/MultiplayerView'
|
||||
require 'views/play/menu/SaveLoadView'
|
||||
require 'views/play/menu/OptionsView'
|
||||
require 'views/play/menu/GuideView'
|
||||
require 'views/play/menu/MultiplayerView'
|
||||
]
|
||||
|
||||
module.exports = class GameMenuModal extends ModalView
|
|
@ -1,5 +1,5 @@
|
|||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/game-menu/guide-view'
|
||||
template = require 'templates/play/menu/guide-view'
|
||||
Article = require 'models/Article'
|
||||
utils = require 'core/utils'
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
ModalView = require 'views/core/ModalView'
|
||||
template = require 'templates/game-menu/inventory-modal'
|
||||
template = require 'templates/play/menu/inventory-modal'
|
||||
buyGemsPromptTemplate = require 'templates/play/modal/buy-gems-prompt'
|
||||
{me} = require 'core/auth'
|
||||
ThangType = require 'models/ThangType'
|
|
@ -1,5 +1,5 @@
|
|||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/game-menu/item-view'
|
||||
template = require 'templates/play/menu/item-view'
|
||||
|
||||
module.exports = class ItemView extends CocoView
|
||||
className: 'item-view'
|
|
@ -1,5 +1,5 @@
|
|||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/game-menu/multiplayer-view'
|
||||
template = require 'templates/play/menu/multiplayer-view'
|
||||
{me} = require 'core/auth'
|
||||
ThangType = require 'models/ThangType'
|
||||
LadderSubmissionView = require 'views/play/common/LadderSubmissionView'
|
|
@ -1,5 +1,5 @@
|
|||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/game-menu/options-view'
|
||||
template = require 'templates/play/menu/options-view'
|
||||
{me} = require 'core/auth'
|
||||
ThangType = require 'models/ThangType'
|
||||
User = require 'models/User'
|
|
@ -1,5 +1,5 @@
|
|||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/game-menu/save-load-view'
|
||||
template = require 'templates/play/menu/save-load-view'
|
||||
{me} = require 'core/auth'
|
||||
ThangType = require 'models/ThangType'
|
||||
|
|
@ -72,7 +72,6 @@ exports.config =
|
|||
#- Wads. Groups of modules by folder which are loaded as a group when needed.
|
||||
'javascripts/app/lib.js': regJoin('^app/lib')
|
||||
'javascripts/app/views/play.js': regJoin('^app/views/play')
|
||||
'javascripts/app/views/game-menu.js': regJoin('^app/views/game-menu')
|
||||
'javascripts/app/views/editor.js': regJoin('^app/views/editor')
|
||||
|
||||
#- world.js, used by the worker to generate the world in game
|
||||
|
@ -185,8 +184,20 @@ for file in coffeeFiles
|
|||
inputFile = file.replace('./app', 'app')
|
||||
outputFile = file.replace('.coffee', '.js').replace('./app', 'javascripts/app')
|
||||
exports.config.files.javascripts.joinTo[outputFile] = inputFile
|
||||
|
||||
|
||||
numBundles = 0
|
||||
|
||||
for file in jadeFiles
|
||||
inputFile = file.replace('./app', 'app')
|
||||
outputFile = file.replace('.jade', '.js').replace('./app', 'javascripts/app')
|
||||
exports.config.files.templates.joinTo[outputFile] = inputFile
|
||||
exports.config.files.templates.joinTo[outputFile] = inputFile
|
||||
|
||||
#- If a view template name matches its view, bundle it in there.
|
||||
templateFileName = outputFile.match(/[^/]+$/)[0]
|
||||
viewFileName = _.str.capitalize(_.str.camelize(templateFileName))
|
||||
possibleViewFilePath = outputFile.replace(templateFileName, viewFileName).replace('/templates/', '/views/')
|
||||
if exports.config.files.javascripts.joinTo[possibleViewFilePath]
|
||||
exports.config.files.templates.joinTo[possibleViewFilePath] = inputFile
|
||||
numBundles += 1
|
||||
|
||||
console.log 'Bundled', numBundles, 'templates with their views.'
|
Loading…
Reference in a new issue