mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-26 05:53:39 -04:00
Hide run shortcut (shift+enter) for first few levels so as not to distract. Don't show beautification button in Python mode. Don't show maximize editor button in hero levels. Don't show method selector if there's only one method. Renamed some spells to methods. Added a bit of i18n.
This commit is contained in:
parent
83fc88e3b6
commit
73d6261b5d
7 changed files with 26 additions and 16 deletions
app
locale
templates/play/level/tome
views/play/level/tome
|
@ -416,7 +416,9 @@
|
|||
tome_cast_button_running: "Running"
|
||||
tome_cast_button_ran: "Ran"
|
||||
tome_submit_button: "Submit"
|
||||
tome_select_spell: "Select a Spell"
|
||||
tome_reload_method: "Reload original code for this method" # Title text for individual method reload button.
|
||||
tome_select_method: "Select a Method"
|
||||
tome_see_all_methods: "See all methods you can edit" # Title text for method list selector (shown when there are multiple programmable methdos).
|
||||
tome_select_a_thang: "Select Someone for "
|
||||
tome_available_spells: "Available Spells"
|
||||
tome_your_skills: "Your Skills"
|
||||
|
|
|
@ -1 +1 @@
|
|||
h5(data-i18n="play_level.tome_select_spell") Select a Spell
|
||||
h5(data-i18n="play_level.tome_select_method") Select a Method
|
||||
|
|
|
@ -1,20 +1,23 @@
|
|||
img(src="/images/level/code_editor_tab_background.png").spell-tab-image-hidden.hidden
|
||||
|
||||
.btn.btn-small.spell-list-button(title="See all spells you can edit")
|
||||
i.icon-chevron-down
|
||||
if includeSpellList
|
||||
.btn.btn-small.spell-list-button(data-i18n="[title]play_level.tome_see_all_methods", title="See all methods you can edit")
|
||||
i.icon-chevron-down
|
||||
.thang-avatar-placeholder
|
||||
|
||||
code #{methodSignature}
|
||||
|
||||
.spell-tool-buttons
|
||||
.btn.btn-small.fullscreen-code(title=maximizeShortcutVerbose)
|
||||
i.icon-fullscreen
|
||||
i.icon-resize-small
|
||||
if levelType !== 'hero'
|
||||
.btn.btn-small.fullscreen-code(title=maximizeShortcutVerbose)
|
||||
i.icon-fullscreen
|
||||
i.icon-resize-small
|
||||
|
||||
.btn.btn-small.reload-code(title="Reload original code for " + spell.name)
|
||||
.btn.btn-small.reload-code(data-i18n="[title]play_level.tome_reload_method", title="Reload original code for this method")
|
||||
i.icon-repeat
|
||||
|
||||
.btn.btn-small.beautify-code(title=beautifyShortcutVerbose)
|
||||
i.icon-magnet
|
||||
if codeLanguage === 'javascript'
|
||||
.btn.btn-small.beautify-code(title=beautifyShortcutVerbose)
|
||||
i.icon-magnet
|
||||
|
||||
.clearfix
|
|
@ -104,7 +104,8 @@ module.exports = class CastButtonView extends CocoView
|
|||
else if castable
|
||||
s = $.i18n.t('play_level.tome_cast_button_run')
|
||||
s = $.i18n.t('play_level.tome_cast_button_casting') if s is 'Run' and me.get('preferredLanguage').split('-')[0] isnt 'en' # Temporary, if tome_cast_button_running isn't translated.
|
||||
s += ' ' + @castShortcut
|
||||
unless @options.levelID in ['dungeons-of-kithgard', 'gems-in-the-deep', 'shadow-guard', 'true-names'] # Hide for first few.
|
||||
s += ' ' + @castShortcut
|
||||
else
|
||||
s = $.i18n.t('play_level.tome_cast_button_ran')
|
||||
s = $.i18n.t('play_level.tome_cast_button_casting') if s is 'Ran' and me.get('preferredLanguage').split('-')[0] isnt 'en' # Temporary, if tome_cast_button_running isn't translated.
|
||||
|
|
|
@ -43,7 +43,7 @@ module.exports = class Spell
|
|||
if @canRead() # We can avoid creating these views if we'll never use them.
|
||||
@view = new SpellView {spell: @, level: options.level, session: @session, worker: @worker}
|
||||
@view.render() # Get it ready and code loaded in advance
|
||||
@tabView = new SpellListTabEntryView spell: @, supermodel: @supermodel, language: @language
|
||||
@tabView = new SpellListTabEntryView spell: @, supermodel: @supermodel, codeLanguage: @language, level: options.level
|
||||
@tabView.render()
|
||||
@team = @permissions.readwrite[0] ? 'common'
|
||||
Backbone.Mediator.publish 'tome:spell-created', spell: @
|
||||
|
@ -56,7 +56,7 @@ module.exports = class Spell
|
|||
@worker = null
|
||||
|
||||
setLanguage: (@language) ->
|
||||
console.log 'setting language to', @language, 'so using original source', @languages[language] ? @languages.javascript
|
||||
#console.log 'setting language to', @language, 'so using original source', @languages[language] ? @languages.javascript
|
||||
@originalSource = @languages[language] ? @languages.javascript
|
||||
|
||||
addThang: (thang) ->
|
||||
|
|
|
@ -33,6 +33,9 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView
|
|||
shift = $.i18n.t 'keyboard_shortcuts.shift'
|
||||
context.beautifyShortcutVerbose = "#{ctrl}+#{shift}+B: #{$.i18n.t 'keyboard_shortcuts.beautify'}"
|
||||
context.maximizeShortcutVerbose = "#{ctrl}+#{shift}+M: #{$.i18n.t 'keyboard_shortcuts.maximize_editor'}"
|
||||
context.includeSpellList = @options.includeSpellList
|
||||
context.codeLanguage = @options.codeLanguage
|
||||
context.levelType = @options.level.get 'type', true
|
||||
context
|
||||
|
||||
afterRender: ->
|
||||
|
@ -71,7 +74,7 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView
|
|||
found = true
|
||||
break
|
||||
return unless found
|
||||
docFormatter = new DocFormatter doc: doc, thang: @thang, language: @options.language, selectedMethod: true
|
||||
docFormatter = new DocFormatter doc: doc, thang: @thang, language: @options.codeLanguage, selectedMethod: true
|
||||
@$el.find('code').popover(
|
||||
animation: true
|
||||
html: true
|
||||
|
@ -122,11 +125,12 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView
|
|||
|
||||
onSpellChangedLanguage: (e) ->
|
||||
return unless e.spell is @spell
|
||||
@options.language = e.language
|
||||
@options.codeLanguage = e.language
|
||||
@$el.find('code').popover 'destroy'
|
||||
@render()
|
||||
@docsBuilt = false
|
||||
@buildDocs() if @thang
|
||||
@updateReloadButton()
|
||||
|
||||
toggleControls: (e, enabled) ->
|
||||
# Don't call super; do it differently
|
||||
|
|
|
@ -61,7 +61,7 @@ module.exports = class SpellListView extends CocoView
|
|||
theseThangs = _.keys(spell.thangs)
|
||||
changedThangs = not lastThangs or not _.isEqual theseThangs, lastThangs
|
||||
lastThangs = theseThangs
|
||||
newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel
|
||||
newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel, includeSpellList: @spells.length > 1
|
||||
@entries.push entry
|
||||
for entry in newEntries
|
||||
@$el.append entry.el
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue