mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-01 07:40:22 -04:00
Increase autocomplete font size in dungeon levels
Also moving getCampaignForSlug to new CampaignOptions file.
This commit is contained in:
parent
79ac94d84a
commit
ef8e7563b4
4 changed files with 31 additions and 14 deletions
app
lib
views/play/level
23
app/lib/CampaignOptions.coffee
Normal file
23
app/lib/CampaignOptions.coffee
Normal file
|
@ -0,0 +1,23 @@
|
|||
CampaignList = require('views/play/WorldMapView').campaigns
|
||||
|
||||
# TODO: Is this file structured correctly?
|
||||
|
||||
# Per-campaign options, with default fallback set
|
||||
options =
|
||||
'default':
|
||||
autocompleteFontSizePx: 16
|
||||
'dungeon':
|
||||
autocompleteFontSizePx: 20
|
||||
|
||||
module.exports = CampaignOptions =
|
||||
getCampaignForSlug: (slug) ->
|
||||
return unless slug
|
||||
for campaign in CampaignList
|
||||
for level in campaign.levels
|
||||
return campaign.id if level.id is slug
|
||||
|
||||
getOption: (levelSlug, option) ->
|
||||
return unless levelSlug and option
|
||||
return unless campaign = CampaignOptions.getCampaignForSlug levelSlug
|
||||
return options[campaign]?[option] if options[campaign]?[option]?
|
||||
return options.default[option] if options.default[option]?
|
|
@ -7,6 +7,7 @@ RealTimeModel = require 'models/RealTimeModel'
|
|||
RealTimeCollection = require 'collections/RealTimeCollection'
|
||||
LevelSetupManager = require 'lib/LevelSetupManager'
|
||||
GameMenuModal = require 'views/game-menu/GameMenuModal'
|
||||
CampaignOptions = require 'lib/CampaignOptions'
|
||||
|
||||
module.exports = class ControlBarView extends CocoView
|
||||
id: 'control-bar-view'
|
||||
|
@ -67,7 +68,7 @@ module.exports = class ControlBarView extends CocoView
|
|||
else if @level.get('type', true) in ['hero', 'hero-coop']
|
||||
@homeLink = c.homeLink = '/play'
|
||||
@homeViewClass = require 'views/play/WorldMapView'
|
||||
campaign = @getCampaignForSlug @level.get 'slug'
|
||||
campaign = CampaignOptions.getCampaignForSlug @level.get 'slug'
|
||||
if campaign isnt 'dungeon'
|
||||
@homeLink += '/' + campaign
|
||||
@homeViewArgs.push campaign
|
||||
|
@ -102,11 +103,6 @@ module.exports = class ControlBarView extends CocoView
|
|||
@controlsEnabled = enabled
|
||||
@$el.toggleClass 'controls-disabled', not enabled
|
||||
|
||||
getCampaignForSlug: (slug) ->
|
||||
for campaign in require('views/play/WorldMapView').campaigns
|
||||
for level in campaign.levels
|
||||
return campaign.id if level.id is slug
|
||||
|
||||
onIPadMemoryWarning: (e) ->
|
||||
@hasReceivedMemoryWarning = true
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ utils = require 'lib/utils'
|
|||
ThangType = require 'models/ThangType'
|
||||
LadderSubmissionView = require 'views/play/common/LadderSubmissionView'
|
||||
AudioPlayer = require 'lib/AudioPlayer'
|
||||
CampaignOptions = require 'lib/CampaignOptions'
|
||||
|
||||
module.exports = class HeroVictoryModal extends ModalView
|
||||
id: 'hero-victory-modal'
|
||||
|
@ -265,16 +266,11 @@ module.exports = class HeroVictoryModal extends ModalView
|
|||
for level in campaign.levels
|
||||
return level if level.id is slug
|
||||
|
||||
getCampaignForSlug: (slug) ->
|
||||
for campaign in require('views/play/WorldMapView').campaigns
|
||||
for level in campaign.levels
|
||||
return campaign.id if level.id is slug
|
||||
|
||||
getNextLevelCampaign: ->
|
||||
# Wouldn't handle skipping/more practice across campaign boundaries, but we don't do that.
|
||||
campaign = @getCampaignForSlug @level.get 'slug'
|
||||
campaign = CampaignOptions.getCampaignForSlug @level.get 'slug'
|
||||
if nextLevelSlug = @getNextLevel 'continue'
|
||||
campaign = @getCampaignForSlug nextLevelSlug
|
||||
campaign = CampaignOptions.getCampaignForSlug nextLevelSlug
|
||||
campaign or 'dungeon'
|
||||
|
||||
getNextLevelLink: (type) ->
|
||||
|
|
|
@ -9,6 +9,7 @@ SpellDebugView = require './SpellDebugView'
|
|||
SpellToolbarView = require './SpellToolbarView'
|
||||
LevelComponent = require 'models/LevelComponent'
|
||||
UserCodeProblem = require 'models/UserCodeProblem'
|
||||
CampaignOptions = require 'lib/CampaignOptions'
|
||||
LevelOptions = require 'lib/LevelOptions'
|
||||
|
||||
module.exports = class SpellView extends CocoView
|
||||
|
@ -216,6 +217,7 @@ module.exports = class SpellView extends CocoView
|
|||
# TODO: Turn on more autocompletion based on level sophistication
|
||||
# TODO: E.g. using the language default snippets yields a bunch of crazy non-beginner suggestions
|
||||
# TODO: Options logic shouldn't exist both here and in updateAutocomplete()
|
||||
popupFontSizePx = CampaignOptions.getOption(@options.level.get('slug'), 'autocompleteFontSizePx') ? 16
|
||||
@zatanna = new Zatanna @ace,
|
||||
basic: false
|
||||
liveCompletion: false
|
||||
|
@ -226,7 +228,7 @@ module.exports = class SpellView extends CocoView
|
|||
text: @autocomplete
|
||||
autoLineEndings:
|
||||
javascript: ';'
|
||||
popupFontSizePx: 16
|
||||
popupFontSizePx: popupFontSizePx
|
||||
popupWidthPx: 380
|
||||
|
||||
updateAutocomplete: (@autocomplete) ->
|
||||
|
|
Loading…
Add table
Reference in a new issue