From fbc2799211988be1536c62fa5fafcb6f4b280f9e Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Fri, 7 Nov 2014 09:08:30 -0800 Subject: [PATCH 01/75] Startd to implement new code editor design. Fixed #1732. --- .../images/level/code_editor_background.png | Bin 7524 -> 45320 bytes app/assets/images/level/wood_texture.png | Bin 87733 -> 70161 bytes app/lib/LevelSetupManager.coffee | 18 ++-- app/locale/en.coffee | 1 + app/styles/play/level.sass | 2 +- app/styles/play/level/thang_avatar.sass | 13 ++- app/styles/play/level/tome/spell.sass | 3 +- .../play/level/tome/spell_list_entry.sass | 78 ++++++++++++------ app/templates/play/level/thang_avatar.jade | 3 +- .../play/level/tome/spell_list_tab_entry.jade | 9 +- app/views/contribute/DiplomatView.coffee | 1 + .../level/tome/SpellListTabEntryView.coffee | 6 +- 12 files changed, 91 insertions(+), 43 deletions(-) diff --git a/app/assets/images/level/code_editor_background.png b/app/assets/images/level/code_editor_background.png index 3dfc257af0c4dd2109e94482229fef05749170dc..daa5d76009369092ddb46e38d3dc55b72b9993d7 100644 GIT binary patch literal 45320 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 Szk&ZA;3ESQ{o4D^asLO4Gt6lK literal 7524 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 diff --git a/app/assets/images/level/wood_texture.png b/app/assets/images/level/wood_texture.png index dc824d8027a281eaf684668652cd5fa9af3bbeab..3c33773cb5b1ad7b10762e34338c9aa87e20b34b 100644 GIT binary patch literal 70161 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 url = "/db/level/#{@options.levelID}/session" #url += "?team=#{@team}" if @options.team # TODO: figure out how to get the teams for multiplayer PVP hero style @@ -41,19 +41,19 @@ module.exports = class LevelSetupManager extends CocoClass fillSessionWithDefaults: -> heroConfig = _.merge {}, me.get('heroConfig'), @session.get('heroConfig') @session.set('heroConfig', heroConfig) - + open: -> - firstModal = if @options.hadEverChosenHero then @inventoryModal else @heroesModal + firstModal = if @options.hadEverChosenHero then @inventoryModal else @heroesModal @options.parent.openModalView(firstModal) # @inventoryModal.onShown() # replace? Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'game-menu-open', volume: 1 - - + + #- Modal events onceHeroLoaded: (e) -> @inventoryModal.setHero(e.hero) - + onHeroesModalConfirmClicked: (e) -> @options.parent.openModalView(@inventoryModal) @inventoryModal.render() @@ -68,7 +68,7 @@ module.exports = class LevelSetupManager extends CocoClass @heroesModal.didReappear() @inventoryModal.endHighlight() window.tracker?.trackEvent 'Play Level Modal', Action: 'Choose Hero' - + onInventoryModalPlayClicked: -> @navigatingToPlay = true viewClass = if @options.levelPath is 'ladder' then LadderView else PlayLevelView @@ -76,4 +76,4 @@ module.exports = class LevelSetupManager extends CocoClass route: "/play/#{@options.levelPath || 'level'}/#{@options.levelID}" viewClass: viewClass viewArgs: [{supermodel: @supermodel}, @options.levelID] - } \ No newline at end of file + } diff --git a/app/locale/en.coffee b/app/locale/en.coffee index ca45b9020..db13244b3 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -233,6 +233,7 @@ tome_select_a_thang: "Select Someone for " tome_available_spells: "Available Spells" tome_your_skills: "Your Skills" + tome_current_method: "Current Method" hud_continue: "Continue (shift+space)" hud_continue_short: "Continue" code_saved: "Code Saved" diff --git a/app/styles/play/level.sass b/app/styles/play/level.sass index 3ba3274b6..7fb4e4726 100644 --- a/app/styles/play/level.sass +++ b/app/styles/play/level.sass @@ -88,7 +88,7 @@ $level-resize-transition-time: 0.5s #code-area @include box-sizing(border-box) - padding: 10px 1% + padding: 0px 0.9% 10px 1.4% width: 45% background: transparent url(/images/level/wood_texture.png) background-size: 100% 100% diff --git a/app/styles/play/level/thang_avatar.sass b/app/styles/play/level/thang_avatar.sass index fcb144953..0873eeee3 100644 --- a/app/styles/play/level/thang_avatar.sass +++ b/app/styles/play/level/thang_avatar.sass @@ -7,10 +7,8 @@ @include box-shadow(0px 0px 10px rgba(79, 79, 213, 1.0)) .thang-avatar-wrapper + width: 100% position: relative - margin: 5px 5px 1px - border: 1px solid #888 - border-radius: 4px @include gradient-radial-custom-stops(hsla(205,0%,74%,1), 20%, hsla(205,0%,31%,1), 70%) &.team-humans @@ -25,6 +23,15 @@ border-color: darkgreen @include gradient-radial-custom-stops(hsla(116,80%,74%,1), 20%, hsla(116,80%,31%,1), 70%) + .avatar + width: 100% + + .avatar-frame + position: absolute + left: -13% + top: -14% + width: 132% + .badge $radius: 8px $diameter: 2 * $radius diff --git a/app/styles/play/level/tome/spell.sass b/app/styles/play/level/tome/spell.sass index 6b37b5c8e..348633044 100644 --- a/app/styles/play/level/tome/spell.sass +++ b/app/styles/play/level/tome/spell.sass @@ -11,7 +11,8 @@ #spell-view position: absolute left: 10px - top: 48px + top: 140px + //top: 48px right: 10px padding-bottom: 10px z-index: 1 diff --git a/app/styles/play/level/tome/spell_list_entry.sass b/app/styles/play/level/tome/spell_list_entry.sass index bda937d27..9ba38f450 100644 --- a/app/styles/play/level/tome/spell_list_entry.sass +++ b/app/styles/play/level/tome/spell_list_entry.sass @@ -2,7 +2,7 @@ @import "app/styles/bootstrap/variables" .spell-list-entry-view - code + .method-signature background-color: transparent border: 0 font-size: 1.1em @@ -10,30 +10,48 @@ padding: 4px .spell-list-entry-view.spell-tab - $height: 38px + $height: 87px + $paddingTop: 10px + $paddingBottom: 25px $childMargin: 2px - $childSize: $height - 2 * $childMargin + $childSize: $height - $paddingTop - $paddingBottom + width: 100% height: $height - width: 90% - width: -webkit-calc(100% - 50px) - width: calc(100% - 50px) - padding: 0px 8px - border-width: 3px - border-image: url(/images/level/code_editor_tab_background.png) 4 fill repeat + padding: $paddingTop 25px $paddingBottom 25px white-space: nowrap position: relative + background: transparent url(/images/level/code_editor_top_bar_wood_background.png) + background-size: 100% 100% + + .hinge + position: absolute + top: 0 + background: transparent url(/images/level/code_editor_top_bar_hinge.png) + width: 24px + height: 20px + background-size: contain + z-index: 100 + + .hinge-0 + left: 20% + .hinge-1 + left: 40% + .hinge-2 + left: 60% + .hinge-3 + left: 80% &.read-only - background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0.2) 100%), url(/images/level/code_editor_tab_background.png) + background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.5) 100%), url(/images/level/code_editor_top_bar_wood_background.png) background-size: 100% 100% - .spell-list-button, .thang-avatar-wrapper, .reload-code, .beautify-code, .fullscreen-code + .spell-list-button, .thang-avatar-view, .reload-code, .beautify-code, .fullscreen-code width: $childSize height: $childSize - margin: $childMargin - box-sizing: border-box + margin: 0 $childMargin + display: inline-block - .spell-list-button, .thang-avatar-wrapper + .spell-list-button, .thang-avatar-view float: left .spell-tool-buttons @@ -71,9 +89,23 @@ .thang-avatar-wrapper border-width: 0 - code - margin-top: 7px + .method-label + margin-left: 10px + line-height: $childSize font-size: 1vw + display: inline-block + font-weight: bold + color: white + text-transform: uppercase + + .method-signature + margin-left: 10px + line-height: $childSize + font-size: 1vw + display: inline-block + font-weight: bold + color: white + text-transform: uppercase .spell-list-entry-view:not(.spell-tab) cursor: pointer @@ -89,7 +121,7 @@ &.shows-top-divider:not(:first-child) border-top: 1px dashed #ccc - code + .method-signature margin-top: 5px .thang-names @@ -113,9 +145,9 @@ //margin: 2px 10px 2px 5px -html.no-borderimage - .spell-list-entry-view.spell-tab - border-width: 0 - border-image: none - background: transparent url(/images/level/code_editor_tab_background.png) no-repeat - background-size: 100% 100% +//html.no-borderimage +// .spell-list-entry-view.spell-tab +// border-width: 0 +// border-image: none +// background: transparent url(/images/level/code_editor_tab_background.png) no-repeat +// background-size: 100% 100% diff --git a/app/templates/play/level/thang_avatar.jade b/app/templates/play/level/thang_avatar.jade index 15af1333a..e92cbb7fd 100644 --- a/app/templates/play/level/thang_avatar.jade +++ b/app/templates/play/level/thang_avatar.jade @@ -1,7 +1,8 @@ .thang-avatar-wrapper(class="team-" + (thang.team || "neutral")) //canvas(width=100, height=100, title=thang.id + " - " + thang.team) //- var title = thang.id + " - " + thang.team + (thang.type ? ' - type: "' + thang.type + '"' : '') - img.img-responsive(src=avatarURL) + img.avatar(src=avatarURL) + img.avatar-frame(src="/images/level/thang_avatar_frame.png") .badge.problems .badge.shared-thangs if includeName diff --git a/app/templates/play/level/tome/spell_list_tab_entry.jade b/app/templates/play/level/tome/spell_list_tab_entry.jade index a2ec05b06..f3ff09860 100644 --- a/app/templates/play/level/tome/spell_list_tab_entry.jade +++ b/app/templates/play/level/tome/spell_list_tab_entry.jade @@ -1,11 +1,16 @@ -img(src="/images/level/code_editor_tab_background.png").spell-tab-image-hidden.hidden +.hinge.hinge-0 +.hinge.hinge-1 +.hinge.hinge-2 +.hinge.hinge-3 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} +.method-label(data-i18n="play_level.tome_current_method") Current Method +.method-signature #{methodSignature} .spell-tool-buttons if levelType !== 'hero' diff --git a/app/views/contribute/DiplomatView.coffee b/app/views/contribute/DiplomatView.coffee index 90bc1411e..2e369c515 100644 --- a/app/views/contribute/DiplomatView.coffee +++ b/app/views/contribute/DiplomatView.coffee @@ -85,3 +85,4 @@ module.exports = class DiplomatView extends ContributeClassView ur: [] # اُردُو, Urdu ms: [] # Bahasa Melayu, Bahasa Malaysia ca: ['ArniMcFrag'] # Català, Catalan + gl: ['mcaeiror'] # Galego, Galician diff --git a/app/views/play/level/tome/SpellListTabEntryView.coffee b/app/views/play/level/tome/SpellListTabEntryView.coffee index b27ed0792..6db1ea9f8 100644 --- a/app/views/play/level/tome/SpellListTabEntryView.coffee +++ b/app/views/play/level/tome/SpellListTabEntryView.coffee @@ -75,7 +75,7 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView break return unless found docFormatter = new DocFormatter doc: doc, thang: @thang, language: @options.codeLanguage, selectedMethod: true - @$el.find('code').popover( + @$el.find('.method-signature').popover( animation: true html: true placement: 'bottom' @@ -126,7 +126,7 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView onSpellChangedLanguage: (e) -> return unless e.spell is @spell @options.codeLanguage = e.language - @$el.find('code').popover 'destroy' + @$el.find('.method-signature').popover 'destroy' @render() @docsBuilt = false @buildDocs() if @thang @@ -168,5 +168,5 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView destroy: -> @avatar?.destroy() - @$el.find('code').popover 'destroy' + @$el.find('.method-signature').popover 'destroy' super() From 5090a47afca8688c84cb4af1c616394dab643f9a Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Fri, 7 Nov 2014 16:04:35 -0800 Subject: [PATCH 02/75] Implementing more of new code editor design. Removed ThangList, EditorConfigModal, and a few other obsolete things. --- .../button-background-active-border.png | Bin 0 -> 4308 bytes .../common/button-background-active.png | Bin 0 -> 3539 bytes .../button-background-disabled-border.png | Bin 0 -> 3828 bytes .../common/button-background-disabled.png | Bin 0 -> 3194 bytes .../button-background-pressed-border.png | Bin 0 -> 4217 bytes .../common/button-background-pressed.png | Bin 0 -> 3739 bytes .../level/code_editor_background_border.png | Bin 0 -> 34338 bytes .../level/code_editor_top_bar_hinge.png | Bin 0 -> 1783 bytes .../code_editor_top_bar_wood_background.png | Bin 0 -> 26055 bytes .../level/code_palette_wood_background.png | Bin 0 -> 66395 bytes .../images/level/code_toolbar_background.png | Bin 0 -> 7799 bytes .../level/code_toolbar_run_button_active.png | Bin 0 -> 4953 bytes ...code_toolbar_run_button_active_pressed.png | Bin 0 -> 4858 bytes .../level/code_toolbar_run_button_zazz.png | Bin 0 -> 5398 bytes .../code_toolbar_run_button_zazz_pressed.png | Bin 0 -> 5304 bytes .../code_toolbar_submit_button_active.png | Bin 0 -> 5333 bytes ...e_toolbar_submit_button_active_pressed.png | Bin 0 -> 5311 bytes .../level/code_toolbar_submit_button_zazz.png | Bin 0 -> 5588 bytes ...ode_toolbar_submit_button_zazz_pressed.png | Bin 0 -> 5595 bytes app/assets/images/level/hud_hinge.png | Bin 0 -> 2197 bytes .../images/level/thang_avatar_frame.png | Bin 0 -> 4778 bytes app/locale/en.coffee | 3 +- app/schemas/subscriptions/tome.coffee | 3 - app/styles/base.sass | 47 +++++ app/styles/play/level.sass | 1 + .../play/level/modal/editor_config.sass | 12 -- app/styles/play/level/thang_avatar.sass | 6 +- app/styles/play/level/tome/cast_button.sass | 123 +++++++++--- app/styles/play/level/tome/spell.sass | 45 ++--- .../play/level/tome/spell_list_entry.sass | 67 ++++--- app/styles/play/level/tome/spell_palette.sass | 86 ++------- .../play/level/tome/spell_palette_entry.sass | 29 +-- app/styles/play/level/tome/thang_list.sass | 22 --- .../play/level/tome/thang_list_entry.sass | 38 ---- .../level/tome/thang_list_entry_spells.sass | 16 -- .../play/level/modal/editor_config.jade | 55 ------ .../play/level/modal/keyboard_shortcuts.jade | 2 +- .../play/level/tome/cast_button.jade | 12 +- .../play/level/tome/spell_list_tab_entry.jade | 30 +-- .../play/level/tome/spell_palette.jade | 3 +- app/templates/play/level/tome/thang_list.jade | 14 -- .../play/level/tome/thang_list_entry.jade | 0 .../level/tome/thang_list_entry_spells.jade | 5 - app/templates/play/level/tome/tome.jade | 2 - app/views/play/level/LevelPlaybackView.coffee | 3 - .../play/level/modal/EditorConfigModal.coffee | 92 --------- .../play/level/tome/CastButtonView.coffee | 6 +- .../play/level/tome/SpellListEntryView.coffee | 1 + .../play/level/tome/SpellListView.coffee | 2 +- .../play/level/tome/SpellPaletteView.coffee | 10 +- app/views/play/level/tome/SpellView.coffee | 6 +- .../play/level/tome/ThangListEntryView.coffee | 178 ------------------ .../play/level/tome/ThangListView.coffee | 95 ---------- app/views/play/level/tome/TomeView.coffee | 18 +- 54 files changed, 278 insertions(+), 754 deletions(-) create mode 100644 app/assets/images/common/button-background-active-border.png create mode 100644 app/assets/images/common/button-background-active.png create mode 100644 app/assets/images/common/button-background-disabled-border.png create mode 100644 app/assets/images/common/button-background-disabled.png create mode 100644 app/assets/images/common/button-background-pressed-border.png create mode 100644 app/assets/images/common/button-background-pressed.png create mode 100644 app/assets/images/level/code_editor_background_border.png create mode 100644 app/assets/images/level/code_editor_top_bar_hinge.png create mode 100644 app/assets/images/level/code_editor_top_bar_wood_background.png create mode 100644 app/assets/images/level/code_palette_wood_background.png create mode 100644 app/assets/images/level/code_toolbar_background.png create mode 100644 app/assets/images/level/code_toolbar_run_button_active.png create mode 100644 app/assets/images/level/code_toolbar_run_button_active_pressed.png create mode 100644 app/assets/images/level/code_toolbar_run_button_zazz.png create mode 100644 app/assets/images/level/code_toolbar_run_button_zazz_pressed.png create mode 100644 app/assets/images/level/code_toolbar_submit_button_active.png create mode 100644 app/assets/images/level/code_toolbar_submit_button_active_pressed.png create mode 100644 app/assets/images/level/code_toolbar_submit_button_zazz.png create mode 100644 app/assets/images/level/code_toolbar_submit_button_zazz_pressed.png create mode 100644 app/assets/images/level/hud_hinge.png create mode 100644 app/assets/images/level/thang_avatar_frame.png delete mode 100644 app/styles/play/level/modal/editor_config.sass delete mode 100644 app/styles/play/level/tome/thang_list.sass delete mode 100644 app/styles/play/level/tome/thang_list_entry.sass delete mode 100644 app/styles/play/level/tome/thang_list_entry_spells.sass delete mode 100644 app/templates/play/level/modal/editor_config.jade delete mode 100644 app/templates/play/level/tome/thang_list.jade delete mode 100644 app/templates/play/level/tome/thang_list_entry.jade delete mode 100644 app/templates/play/level/tome/thang_list_entry_spells.jade delete mode 100644 app/views/play/level/modal/EditorConfigModal.coffee delete mode 100644 app/views/play/level/tome/ThangListEntryView.coffee delete mode 100644 app/views/play/level/tome/ThangListView.coffee diff --git a/app/assets/images/common/button-background-active-border.png b/app/assets/images/common/button-background-active-border.png new file mode 100644 index 0000000000000000000000000000000000000000..42dec5b5ad7124927c7ac6b353c70e37fe2c972d GIT binary patch literal 4308 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 BYr6md literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-active.png b/app/assets/images/common/button-background-active.png new file mode 100644 index 0000000000000000000000000000000000000000..aae72bb00530d9c6bcde8a2f4b09cafe3df5e6ff GIT binary patch literal 3539 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 D#IYcI literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-disabled-border.png b/app/assets/images/common/button-background-disabled-border.png new file mode 100644 index 0000000000000000000000000000000000000000..dbbe537cc1783c1f53836759470496fcf4aa85dd GIT binary patch literal 3828 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 J-Cz}v{2zlGkE8$q literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-disabled.png b/app/assets/images/common/button-background-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..78fae85390df07a844e93b37955ec2e72dd194f6 GIT binary patch literal 3194 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 O28{L1(06s6LjMCh=Xw4B literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-pressed-border.png b/app/assets/images/common/button-background-pressed-border.png new file mode 100644 index 0000000000000000000000000000000000000000..d9c173d649cfad6c074b4c7df2fa4f94dda2f0f2 GIT binary patch literal 4217 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_editor_background_border.png b/app/assets/images/level/code_editor_background_border.png new file mode 100644 index 0000000000000000000000000000000000000000..9c860168f6de0703879dfd4a644133d691317c3e GIT binary patch literal 34338 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 Kp$Y+A-~Rz4aN4&3 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_editor_top_bar_hinge.png b/app/assets/images/level/code_editor_top_bar_hinge.png new file mode 100644 index 0000000000000000000000000000000000000000..852df87fc632cbd95b3751de9e63a222eb2beeba GIT binary patch literal 1783 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoV!3HEZYr9GSDaPU;cPEB*=VV?oFtCVchD4M^ z`1)8S=jZArrsOB3>Q&?x097$C*i={nnYpPYi3%0DIeEoa6}C!X6;?ntNLXJ<0j#7X z+g2&UH$cHTzbI9~RL?}uK*^3vK|#T$C?(A*$i)q+9mum)$|xx*u+rBrFE7_CH`dE9 zO4m2Ew6xSWFw!?N(gmu}Ew0QfNvzP#D^`XW0yD=YwK%ybv!En1KTiQATTy;4IA97A zi;7c0jFq<+|;}hsL3e^lbs2fjHDG|vW-55SHTGk z67R5Zz-g%~ZcCx&BD5k|3X$`~8A>jMj78FlYOIxWQEFmIeo;t%evX|ZDAOqfWaO9R z7iZ)bC^$PS7#SFvC}{X5CTHe>1U13_N70029w=>C`4?pZ!#fd_JM0W?^fAPs>TUEv zSqCXALGmeB6qr%%xPUgnGQAzwt@&&-85o%QJY5_^Jb0IeIOYpEiqvgTaC&iVOU$m9 zW|Ip%Vjrr5)2t61 zTIBcX+uq90d*7ekQ)@gi!{k?&nzC5;-l^L*rcOwdDB87Y-JFmU+j1M_`;T9}nDIqz zSJ9VxhU9wT+gaOByxpzja@pimiqR3PoHbKYEM$bHFTDQR_hYPyzQ%t8|CJ$Gr}Wh) zdMr8h?NE_wuxIDe&7U{#WZBbEbvg6xmE)|EKc1g$^-Q|;R`K@RZ5`*I7KLbtWc>eX z_i~qB&AQh?+i&wen!fMjAr+y8LNjiwiSl=se0ke(?Q1C~r?=Dg+h3iR@ov4hG^o>R zZlA{7%f&SdqN47vlvwDwqx#azEiY<+Z}&a^H2KmZsjqkUEpR;R8NXX|?jh^cwrSlL zZ{|#!(bN9CvW{uq=cov2eVb16FEg6gt6Ze;@DMo0b~5HcmL!e7EG0I+pX(IqcMg z_D)%{#_SC<FVdQ&MBb@058Cpr~m)} literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_editor_top_bar_wood_background.png b/app/assets/images/level/code_editor_top_bar_wood_background.png new file mode 100644 index 0000000000000000000000000000000000000000..15d625b08c6b117b9f220f25fdd875b2215a7acc GIT binary patch literal 26055 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 v`2hTD_IT(3-U54Pe;~ literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_palette_wood_background.png b/app/assets/images/level/code_palette_wood_background.png new file mode 100644 index 0000000000000000000000000000000000000000..dbdda5af6bc7c2c09ef3a730af08e2598cbeb99b GIT binary patch literal 66395 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_background.png b/app/assets/images/level/code_toolbar_background.png new file mode 100644 index 0000000000000000000000000000000000000000..f05972b5c2a14cc8283ad12927e8b5e51b644d5f GIT binary patch literal 7799 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 XfT>6aVf9%<|AkLYNehy%VCwgOV%0o= literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_run_button_active.png b/app/assets/images/level/code_toolbar_run_button_active.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3748d39ffe6b1c8fc2144d89dc343ca3a561f9 GIT binary patch literal 4953 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_run_button_zazz.png b/app/assets/images/level/code_toolbar_run_button_zazz.png new file mode 100644 index 0000000000000000000000000000000000000000..8b0e94225560ac212982f62ea7923d2761b13b7b GIT binary patch literal 5398 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%0ADUT+)`3=B+C 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 c_K#CRLQKD7}Ovbds0^2~9*PQUno1dQ%Y)A#^DT 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_submit_button_active_pressed.png b/app/assets/images/level/code_toolbar_submit_button_active_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..100f085f48733d63d15d85d05299c33fd3e833f9 GIT binary patch literal 5311 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 U#DSSH)xwVghwaX~vO6I5FXHr;ng9R* literal 0 HcmV?d00001 diff --git a/app/assets/images/level/thang_avatar_frame.png b/app/assets/images/level/thang_avatar_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..1b4fcc3d5fd0b1892e46829d34f2569a5dd8afc9 GIT binary patch literal 4778 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 * + @include opacity(0.5) + + > * + @include opacity(0.75) + + &:hover > * + @include opacity(1) + + html.no-borderimage .popover border: 0 background: transparent url(/images/level/popover_background.png) background-size: 100% 100% padding: 10px 20px + + .btn.btn-illustrated + border: 0 + background-image: url(/images/common/button-background-active.png) + background-size: 100% 100% + padding: 7px 10px 10px 10px + + &:active + background-image: url(/images/common/button-background-pressed.png) + padding: 9px 8px 8px 12px + border: 0 + + &.disabled, &:disabled + background-image: url(/images/common/button-background-disabled.png) + diff --git a/app/styles/play/level.sass b/app/styles/play/level.sass index 7fb4e4726..2f878b51b 100644 --- a/app/styles/play/level.sass +++ b/app/styles/play/level.sass @@ -97,6 +97,7 @@ $level-resize-transition-time: 0.5s top: 0px bottom: 0 @include transition(width $level-resize-transition-time ease-in-out, right $level-resize-transition-time ease-in-out) + overflow: hidden // Level Docs .ui-effects-transfer diff --git a/app/styles/play/level/modal/editor_config.sass b/app/styles/play/level/modal/editor_config.sass deleted file mode 100644 index 1d97d3965..000000000 --- a/app/styles/play/level/modal/editor_config.sass +++ /dev/null @@ -1,12 +0,0 @@ -#level-editor-config-modal - .select-group - display: block - min-height: 20px - margin-top: 10px - margin-bottom: 10px - padding-left: 20px - vertical-align: middle - - label - font-weight: normal - margin-right: 20px \ No newline at end of file diff --git a/app/styles/play/level/thang_avatar.sass b/app/styles/play/level/thang_avatar.sass index 0873eeee3..c81beb41f 100644 --- a/app/styles/play/level/thang_avatar.sass +++ b/app/styles/play/level/thang_avatar.sass @@ -28,9 +28,9 @@ .avatar-frame position: absolute - left: -13% - top: -14% - width: 132% + left: -18% + top: -19% + width: 145% .badge $radius: 8px diff --git a/app/styles/play/level/tome/cast_button.sass b/app/styles/play/level/tome/cast_button.sass index edad12068..b00d99ca1 100644 --- a/app/styles/play/level/tome/cast_button.sass +++ b/app/styles/play/level/tome/cast_button.sass @@ -17,8 +17,8 @@ @include box-shadow(0px 0px 8px #333) color: white 50% - @include box-shadow(0px 0px 35px #87FFCE) - color: #87FFFF + @include box-shadow(0px 0px 35px #87CEFF) + color: #87CEFF to @include box-shadow(0px 0px 8px #333) color: white @@ -31,40 +31,113 @@ width: 100% border-radius: 6px - .btn - padding: 3px 10px - height: 40px - font-size: 22px + background: transparent url(/images/level/code_toolbar_background.png) + background-size: 100% 100% + left: -15px + right: 15px + height: 94px + margin-top: -8px + padding: 20px 2.8% - .submit-button - margin-left: 20px - min-width: 150px + .btn.btn-illustrated + height: 46px + font-size: 24px + line-height: 24px + width: 45% + width: -webkit-calc(50% - 10px) + width: calc(50% - 10px) + border-image: url(/images/level/code_toolbar_run_button_active.png) 14 20 20 20 fill round + border-width: 7px 10px 10px 10px + + &:active + border-image: url(/images/level/code_toolbar_run_button_active_pressed.png) 14 20 20 20 fill round + padding: 2px 0 0 2px + + &.submit-button + margin-left: 10px + border-image: url(/images/level/code_toolbar_submit_button_active.png) 14 20 20 20 fill round + + &:active + border-image: url(/images/level/code_toolbar_submit_button_active_pressed.png) 14 20 20 20 fill round .cast-button - margin-left: 10px - min-width: 150px @include opacity(0.77) &:hover, &.castable @include opacity(1) + + .submit-button > * + @include opacity(0.9) + &:hover + @include opacity(1) + &:not(.winnable) - .cast-button.castable - font-weight: bold - -webkit-animation-name: castablePulse - -webkit-animation-duration: 3s - -webkit-animation-iteration-count: infinite + .btn.btn-illustrated - .submit-button - font-size: 16px + &.cast-button.castable + font-weight: bold + @include animation(castablePulse 3s infinite) + border-image: url(/images/level/code_toolbar_run_button_zazz.png) 14 20 20 20 fill round + + &:active + border-image: url(/images/level/code_toolbar_run_button_zazz_pressed.png) 14 20 20 20 fill round + + &.submit-button + font-size: 16px &.winnable - .submit-button - font-weight: bold - -webkit-animation-name: winnablePulse - -webkit-animation-duration: 3s - -webkit-animation-iteration-count: infinite - .cast-button - font-size: 16px + .btn.btn-illustrated + &.submit-button + font-weight: bold + @include animation(winnablePulse 3s infinite) + + border-image: url(/images/level/code_toolbar_submit_button_zazz.png) 14 20 20 20 fill round + + &:active + border-image: url(/images/level/code_toolbar_submit_button_zazz_pressed.png) 14 20 20 20 fill round + + &.cast-button + font-size: 16px + +html.no-borderimage #cast-button-view + .btn.btn-illustrated + border: 0 + background-image: url(/images/level/code_toolbar_run_button_active.png) + background-size: 100% 100% + padding: 7px 10px 10px 10px + + &:active + background-image: url(/images/level/code_toolbar_run_button_active_pressed.png) + padding: 9px 8px 8px 12px + border: 0 + + &.submit-button + background-image: url(/images/level/code_toolbar_submit_button_active_pressed.png) + border: 0 + + &:active + background-image: url(/images/level/code_toolbar_submit_button_active_pressed.png) + border: 0 + + &:not(.winnable) + .btn.btn-illustrated + &.cast-button.castable + border: 0 + background-image: url(/images/level/code_toolbar_run_button_zazz.png) + + &:active + background-image: url(/images/level/code_toolbar_run_button_zazz_pressed.png) + + &.winnable + .btn.btn-illustrated + &.submit-button + border: 0 + background-image: url(/images/level/code_toolbar_submit_button_zazz.png) + + &:active + border: 0 + background-image: url(/images/level/code_toolbar_submit_button_zazz_pressed.png) + diff --git a/app/styles/play/level/tome/spell.sass b/app/styles/play/level/tome/spell.sass index 348633044..d2ab57bfd 100644 --- a/app/styles/play/level/tome/spell.sass +++ b/app/styles/play/level/tome/spell.sass @@ -2,38 +2,37 @@ @import "app/styles/bootstrap/variables" @mixin editor-height($extraHeight) - @include box-sizing(border-box) width: 98% height: 83% - height: unquote("-webkit-calc(100% - 60px -")$extraHeight unquote(")") - height: unquote("calc(100% - 60px -")$extraHeight unquote(")") + height: unquote("-webkit-calc(100% - 100px -")$extraHeight unquote(")") + height: unquote("calc(100% - 100px -")$extraHeight unquote(")") #spell-view - position: absolute - left: 10px - top: 140px - //top: 48px - right: 10px - padding-bottom: 10px - z-index: 1 - // Set z-index above palette + margin-top: 10px + padding-top: 20px + padding-left: 30px + padding-bottom: 95px display: none + position: relative + z-index: 1 &.shown display: block .code-background position: absolute - top: 0 + top: -68px + left: 0px height: 100% - width: 100% + right: -10px span.code-background - border-width: 40px - border-image: url(/images/level/code_editor_background.png) 40 fill round + border-width: 124px 76px 64px 40px + border-image: url(/images/level/code_editor_background_border.png) 124 76 64 40 fill round img.code-background display: none + width: 100% .save-status display: none @@ -44,7 +43,7 @@ .firepad // When Firepad is active, it wraps .ace_editor in .firepad. @include editor-height(0px) - width: 98% + width: 94% .ace_editor width: 100% @@ -56,7 +55,7 @@ .ace_editor // When Firepad isn't active, .ace_editor needs the width/height set itself. @include editor-height(0px) - width: 98% + width: 94% position: relative background-color: transparent line-height: 20px @@ -70,14 +69,18 @@ @include opacity(20) .ace_gutter - background-color: rgba(255, 255, 255, 0.25) + background-color: transparent + border-right: 1px solid rgb(195, 178, 156) + //background-color: rgba(255, 255, 255, 0.25) width: 47px margin-left: 4px - border-bottom: 1px dotted #2f261d .ace_scroller background-color: transparent - border-bottom: 1px dotted #2f261d + //padding-left: 10px // Interrupts gutter and line highlighting + + .ace_active-line, .ace_gutter-active-line + background-color: rgba(255, 255, 255, 0.4) .ace_content .executing, .executed, .problem-marker-info, .problem-marker-warning, .problem-marker-error @@ -147,10 +150,10 @@ .ace_searchbtn, .ace_replacebtn padding: 0px 4px + html.no-borderimage #spell-view span.code-background display: none img.code-background display: block - diff --git a/app/styles/play/level/tome/spell_list_entry.sass b/app/styles/play/level/tome/spell_list_entry.sass index 9ba38f450..888866876 100644 --- a/app/styles/play/level/tome/spell_list_entry.sass +++ b/app/styles/play/level/tome/spell_list_entry.sass @@ -13,7 +13,6 @@ $height: 87px $paddingTop: 10px $paddingBottom: 25px - $childMargin: 2px $childSize: $height - $paddingTop - $paddingBottom width: 100% height: $height @@ -22,6 +21,7 @@ position: relative background: transparent url(/images/level/code_editor_top_bar_wood_background.png) background-size: 100% 100% + z-index: 2 .hinge position: absolute @@ -30,7 +30,6 @@ width: 24px height: 20px background-size: contain - z-index: 100 .hinge-0 left: 20% @@ -45,15 +44,24 @@ background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.5) 100%), url(/images/level/code_editor_top_bar_wood_background.png) background-size: 100% 100% - .spell-list-button, .thang-avatar-view, .reload-code, .beautify-code, .fullscreen-code - width: $childSize - height: $childSize - margin: 0 $childMargin + .thang-avatar-view + width: $childSize - 10px + margin: 5px display: inline-block - - .spell-list-button, .thang-avatar-view float: left + .btn.btn-small + margin-top: 15px + margin-right: 15px + font-size: 18px + + .glyphicon + font-size: 16px + + .btn.btn-small.spell-list-button + float: left + margin-top: 5px + .spell-tool-buttons position: absolute right: 0px @@ -69,43 +77,32 @@ .fullscreen-code float: right &:not(.maximized) - .icon-resize-small + .glyphicon-resize-small display: none &.maximized - .icon-fullscreen + .glyphicon-fullscreen display: none - .btn.btn-small - background: transparent - padding: 0 - - &:not(:hover) - border-color: transparent - @include box-shadow(none) - - .icon-chevron-down, .icon-repeat, .icon-magnet, .icon-fullscreen, .icon-resize-small - margin-top: 7px - .thang-avatar-wrapper border-width: 0 - .method-label + .method-name-area margin-left: 10px - line-height: $childSize - font-size: 1vw - display: inline-block - font-weight: bold - color: white + margin-top: 10px text-transform: uppercase + display: inline-block + font-family: Open Sans Condensed + font-weight: bold - .method-signature - margin-left: 10px - line-height: $childSize - font-size: 1vw - display: inline-block - font-weight: bold - color: white - text-transform: uppercase + .method-label + font-size: 12px + color: rgb(243, 211, 59) + margin-bottom: -5px + + .method-signature + color: white + font-size: 18px + padding: 0 .spell-list-entry-view:not(.spell-tab) cursor: pointer diff --git a/app/styles/play/level/tome/spell_palette.sass b/app/styles/play/level/tome/spell_palette.sass index c6f7ff406..d8864eca1 100644 --- a/app/styles/play/level/tome/spell_palette.sass +++ b/app/styles/play/level/tome/spell_palette.sass @@ -3,55 +3,44 @@ #spell-palette-view position: absolute - padding-bottom: 10px left: 10px right: 10px - //height: 140px - // Height relates to .tab-content height - padding-top: 35px - padding-left: 12px - padding-right: 4px - color: #333 - // Get crazy with the backgrounds so that we can lower the opacity on the editor background above it, making a gradient of the disabled background color on the top around where it's usually covered + padding: 0 4px 10px 40px background-color: transparent background-size: 100% 100% - z-index: 0 + z-index: 2 //overflow-y: auto - - .code-palette-background - position: absolute - left: 0 - top: 0 - width: 100% - height: 100% - z-index: -1 - - span.code-palette-background - border-width: 25px - border-image: url(/images/level/code_palette_background.png) 25 fill round - img.code-palette-background - display: none + .code-palette-background + width: 100% + position: absolute + left: 0px + z-index: -1 &.disabled @include opacity(0.80) h4 - color: #333 + color: white font-size: 16px line-height: 16px - margin: 0 4px + margin: 25px 0 5px 2px font-weight: normal + text-transform: uppercase .nav > li > a padding: 2px 20px 0px 20px margin-bottom: 3px ul.nav.nav-pills + margin-top: 15px + + h4 + margin-top: 2px li.active a background-color: transparent &.multiple-tabs li.active a - background-color: lighten(rgb(230, 212, 146), 10%) + background-color: darken(rgb(230, 212, 146), 30%) &.multiple-tabs li:not(.active) a cursor: pointer @@ -82,8 +71,9 @@ @include flexbox() @include flex-wrap() @include flex-center() - outline: 1px dashed #b86 position: relative + background-color: rgb(20, 13, 8) + margin: 1px img.item-image width: 38px @@ -91,49 +81,11 @@ position: absolute &:not(:hover) img.item-image - -webkit-filter: sepia(100%) - filter: sepia(100%) + -webkit-filter: contrast(50%) sepia(100%) saturate(500%) hue-rotate(7deg) + filter: contrast(50%) sepia(100%) saturate(1000%) hue-rotate(7deg) .spell-palette-entry-view margin-left: 38px width: 174px width: -webkit-calc(100% - 38px) width: calc(100% - 38px) - - .code-language-logo - position: absolute - width: 16px - height: 16px - left: 16px - top: 36px - z-index: 10 - background-color: transparent - background-repeat: no-repeat - background-size: contain - cursor: pointer - - &.javascript - background-image: url(/images/common/code_languages/javascript_icon.png) - &.python - background-image: url(/images/common/code_languages/python_icon.png) - &.coffeescript - background-image: url(/images/common/code_languages/coffeescript_icon.png) - &.clojure - background-image: url(/images/common/code_languages/clojure_icon.png) - &.lua - background-image: url(/images/common/code_languages/lua_icon.png) - &.io - background-image: url(/images/common/code_languages/io_icon.png) - - &:hover - outline: 1px outset #ccc - - &:active - outline: 1px inset #ccc - -html.no-borderimage - #spell-palette-view - span.code-palette-background - display: none - img.code-palette-background - display: block diff --git a/app/styles/play/level/tome/spell_palette_entry.sass b/app/styles/play/level/tome/spell_palette_entry.sass index 66d2ce088..cb37378b5 100644 --- a/app/styles/play/level/tome/spell_palette_entry.sass +++ b/app/styles/play/level/tome/spell_palette_entry.sass @@ -25,20 +25,21 @@ background-color: darken(#FFFFFF, 25%) // Originally pulled these colors from the most relevant textmate-theme classes, but then fudged them a lot. - &.function - color: black - &.object - color: rgb(6, 150, 14) - &.string - color: rgb(3, 106, 7) - &.number - color: rgb(0, 0, 205) - &.boolean - color: rgb(88, 92, 246) - &.snippet - color: blue - &.undefined - color: rgb(197, 6, 11) + //&.function + // color: black + //&.object + // color: rgb(6, 150, 14) + //&.string + // color: rgb(3, 106, 7) + //&.number + // color: rgb(0, 0, 205) + //&.boolean + // color: rgb(88, 92, 246) + //&.snippet + // color: blue + //&.undefined + // color: rgb(197, 6, 11) + color: rgb(243, 169, 49) .spell-palette-popover.popover // Only those popovers which are our direct children (spell documentation) diff --git a/app/styles/play/level/tome/thang_list.sass b/app/styles/play/level/tome/thang_list.sass deleted file mode 100644 index a06613bd8..000000000 --- a/app/styles/play/level/tome/thang_list.sass +++ /dev/null @@ -1,22 +0,0 @@ -@import "app/styles/mixins" -@import "app/styles/bootstrap/variables" - -#thang-list-view - margin: 50px 15px 15px 15px - overflow: auto - height: 80% - height: -webkit-calc(100% - 65px) - height: calc(100% - 65px) - - h3 - line-height: 25px - margin: 0 - text-align: center - letter-spacing: 0.1em - - .thang-list-section - margin: 5px - padding: 5px - background-color: rgba(200, 200, 200, 0.25) - border-radius: 5px - overflow: hidden diff --git a/app/styles/play/level/tome/thang_list_entry.sass b/app/styles/play/level/tome/thang_list_entry.sass deleted file mode 100644 index e478d6b13..000000000 --- a/app/styles/play/level/tome/thang_list_entry.sass +++ /dev/null @@ -1,38 +0,0 @@ -@import "app/styles/mixins" -@import "app/styles/bootstrap/variables" - -.thang-list-entry-view - @include opacity(0.90) - cursor: pointer - float: left - box-sizing: border-box - width: 20% - max-width: 100px - position: relative - - &.dead - @include opacity(0.75) - - &:after - content: "×" - font-size: 160px - color: red - @include opacity(0.75) - position: absolute - bottom: 0 - height: 100% - width: 100% - text-align: center - line-height: 100px - font-family: monospace - - .thang-name - text-decoration: line-through - - &.disabled - @include opacity(0.25) - cursor: default - - &:hover:not(.disabled) - @include opacity(1) - diff --git a/app/styles/play/level/tome/thang_list_entry_spells.sass b/app/styles/play/level/tome/thang_list_entry_spells.sass deleted file mode 100644 index 312905d1d..000000000 --- a/app/styles/play/level/tome/thang_list_entry_spells.sass +++ /dev/null @@ -1,16 +0,0 @@ -@import "app/styles/mixins" -@import "app/styles/bootstrap/variables" - -.thang-list-entry-spells - - .thang-list-entry-spell - padding: 4px - cursor: pointer - - &:hover - background-color: hsla(240, 40, 80, 0.25) - - code - background-color: transparent - border: 0 - font-size: 1.1em diff --git a/app/templates/play/level/modal/editor_config.jade b/app/templates/play/level/modal/editor_config.jade deleted file mode 100644 index bac960ed1..000000000 --- a/app/templates/play/level/modal/editor_config.jade +++ /dev/null @@ -1,55 +0,0 @@ -extends /templates/modal/modal_base - -block modal-header-content - h3(data-i18n="play_level.editor_config_title") Editor Configuration - -block modal-body-content - .form - .form-group.select-group - label.control-label(for="tome-session-language" data-i18n="play_level.editor_config_level_language_label") Language for This Level - select#tome-session-language(name="language") - for option in languages - option(value=option.id selected=(sessionLanguage === option.id))= option.name - span.help-block(data-i18n="play_level.editor_config_level_language_description") Define the programming language for this particular level. - - .form-group.select-group - label.control-label(for="tome-language" data-i18n="play_level.editor_config_default_language_label") Default Programming Language - select#tome-language(name="language") - for option in languages - option(value=option.id selected=(language === option.id))= option.name - span.help-block(data-i18n="play_level.editor_config_default_language_description") Define the programming language you want to code in when starting new levels. - - .form-group.select-group - label.control-label(for="tome-key-bindings" data-i18n="play_level.editor_config_keybindings_label") Key Bindings - select#tome-key-bindings(name="keyBindings") - option(value="default" selected=(keyBindings === "default") data-i18n="play_level.editor_config_keybindings_default") Default (Ace) - option(value="vim" selected=(keyBindings === "vim")) Vim - option(value="emacs" selected=(keyBindings === "emacs")) Emacs - span.help-block(data-i18n="play_level.editor_config_keybindings_description") Adds additional shortcuts known from the common editors. - - .form-group.checkbox - label(for="tome-live-completion") - input#tome-live-completion(name="liveCompletion", type="checkbox", checked=liveCompletion) - span(data-i18n="play_level.editor_config_livecompletion_label") Live Autocompletion - span.help-block(data-i18n="play_level.editor_config_livecompletion_description") Displays autocomplete suggestions while typing. - - .form-group.checkbox - label(for="tome-invisibles") - input#tome-invisibles(name="invisibles", type="checkbox", checked=invisibles) - span(data-i18n="play_level.editor_config_invisibles_label") Show Invisibles - span.help-block(data-i18n="play_level.editor_config_invisibles_description") Displays invisibles such as spaces or tabs. - - .form-group.checkbox - label(for="tome-indent-guides") - input#tome-indent-guides(name="indentGuides", type="checkbox", checked=indentGuides) - span(data-i18n="play_level.editor_config_indentguides_label") Show Indent Guides - span.help-block(data-i18n="play_level.editor_config_indentguides_description") Displays vertical lines to see indentation better. - - .form-group.checkbox - label(for="tome-behaviors") - input#tome-behaviors(name="behaviors", type="checkbox", checked=behaviors) - span(data-i18n="play_level.editor_config_behaviors_label") Smart Behaviors - span.help-block(data-i18n="play_level.editor_config_behaviors_description") Autocompletes brackets, braces, and quotes. - -block modal-footer-content - a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="modal.close").btn.btn-primary Close diff --git a/app/templates/play/level/modal/keyboard_shortcuts.jade b/app/templates/play/level/modal/keyboard_shortcuts.jade index f38fedaa0..961b595d1 100644 --- a/app/templates/play/level/modal/keyboard_shortcuts.jade +++ b/app/templates/play/level/modal/keyboard_shortcuts.jade @@ -19,7 +19,7 @@ block modal-body-content dl.dl-horizontal dt(title=shift + " " + enter) kbd ⇧ #{enter} - dd(data-i18n="keyboard_shortcuts.cast_spell") Cast current spell. + dd(data-i18n="keyboard_shortcuts.run_code") Run current code. dl.dl-horizontal dt(title=ctrlName + " " + shift + " " + enter) kbd #{ctrl} ⇧ #{enter} diff --git a/app/templates/play/level/tome/cast_button.jade b/app/templates/play/level/tome/cast_button.jade index a6290974c..a3a153656 100644 --- a/app/templates/play/level/tome/cast_button.jade +++ b/app/templates/play/level/tome/cast_button.jade @@ -1,6 +1,8 @@ -button.btn.btn-lg.btn-inverse.banner.cast-button(title=castVerbose, data-i18n="play_level.tome_run_button_ran") Ran +button.btn.btn-lg.btn-illustrated.cast-button(title=castVerbose) + span(data-i18n="play_level.tome_run_button_ran") Ran -if testSubmitText != null && testSubmitText.length > 0 - button.btn.btn-lg.btn-success.banner.submit-button(title=castRealTimeVerbose) #{testSubmitText} -else - button.btn.btn-lg.btn-success.banner.submit-button(title=castRealTimeVerbose, data-i18n="play_level.tome_submit_button") Submit +button.btn.btn-lg.btn-illustrated.submit-button(title=castRealTimeVerbose) + if testSubmitText != null && testSubmitText.length > 0 + span= testSubmitText + else + span(data-i18n="play_level.tome_submit_button") Submit diff --git a/app/templates/play/level/tome/spell_list_tab_entry.jade b/app/templates/play/level/tome/spell_list_tab_entry.jade index f3ff09860..e0e4f95b6 100644 --- a/app/templates/play/level/tome/spell_list_tab_entry.jade +++ b/app/templates/play/level/tome/spell_list_tab_entry.jade @@ -4,25 +4,27 @@ .hinge.hinge-3 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 + .btn.btn-small.btn-illustrated.spell-list-button(data-i18n="[title]play_level.tome_see_all_methods", title="See all methods you can edit") + .glyphicon.glyphicon-chevron-down .thang-avatar-placeholder -.method-label(data-i18n="play_level.tome_current_method") Current Method -.method-signature #{methodSignature} +.method-name-area + .method-label(data-i18n="play_level.tome_current_method") Current Method + .method-signature #{methodSignature} .spell-tool-buttons - if levelType !== 'hero' - .btn.btn-small.fullscreen-code(title=maximizeShortcutVerbose) - i.icon-fullscreen - i.icon-resize-small - - .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.btn-illustrated.reload-code(data-i18n="[title]play_level.tome_reload_method", title="Reload original code for this method") + .glyphicon.glyphicon-repeat + span.spl(data-i18n="play_level.reload") Reload - if codeLanguage === 'javascript' - .btn.btn-small.beautify-code(title=beautifyShortcutVerbose) - i.icon-magnet + if levelType !== 'hero' && levelType !== 'hero-ladder' && levelType !== 'hero-coop' + .btn.btn-small.btn-illustrated.fullscreen-code(title=maximizeShortcutVerbose) + .glyphicon.glyphicon-fullscreen + .glyphicon.glyphicon-resize-small + + if codeLanguage === 'javascript' && levelType !== 'hero' && levelType !== 'hero-ladder' && levelType !== 'hero-coop' + .btn.btn-small.btn-illustrated.beautify-code(title=beautifyShortcutVerbose) + .glyphicon.glyphicon-magnet .clearfix \ No newline at end of file diff --git a/app/templates/play/level/tome/spell_palette.jade b/app/templates/play/level/tome/spell_palette.jade index 0b27aa90e..304ef1a64 100644 --- a/app/templates/play/level/tome/spell_palette.jade +++ b/app/templates/play/level/tome/spell_palette.jade @@ -1,8 +1,7 @@ -img(src="/images/level/code_palette_background.png").code-palette-background +img(src="/images/level/code_palette_wood_background.png").code-palette-background span.code-palette-background if entryGroupSlugs // Non-hero; group by entry groups, or maybe nothing. - .code-language-logo ul(class="nav nav-pills" + (tabbed ? ' multiple-tabs' : '')) each slug, group in entryGroupSlugs li(class=group == "this" || slug == "available-spells" ? "active" : "") diff --git a/app/templates/play/level/tome/thang_list.jade b/app/templates/play/level/tome/thang_list.jade deleted file mode 100644 index 2d0140f05..000000000 --- a/app/templates/play/level/tome/thang_list.jade +++ /dev/null @@ -1,14 +0,0 @@ -#readwrite-thangs.thang-list-section - h3(data-i18n="play_level.tome_minion_spells") Your Minions' Spells - .thang-list - .clearfix - -#read-thangs.thang-list-section - h3(data-i18n="play_level.tome_read_only_spells") Read-Only Spells - .thang-list - .clearfix - -#muggle-thangs.thang-list-section - h3(data-i18n="play_level.tome_other_units") Other Units - .thang-list - .clearfix diff --git a/app/templates/play/level/tome/thang_list_entry.jade b/app/templates/play/level/tome/thang_list_entry.jade deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/templates/play/level/tome/thang_list_entry_spells.jade b/app/templates/play/level/tome/thang_list_entry_spells.jade deleted file mode 100644 index b95ca4d2a..000000000 --- a/app/templates/play/level/tome/thang_list_entry_spells.jade +++ /dev/null @@ -1,5 +0,0 @@ -h4.not-code(data-i18n="play_level.tome_select_spell") Select a Spell -.thang-list-entry-spells - for spell in spells - div.thang-list-entry-spell - code(data-spell-name=spell.name) #{spell.name}(#{parameters}) \ No newline at end of file diff --git a/app/templates/play/level/tome/tome.jade b/app/templates/play/level/tome/tome.jade index f1d1d4dfb..c29f9e4f0 100644 --- a/app/templates/play/level/tome/tome.jade +++ b/app/templates/play/level/tome/tome.jade @@ -2,8 +2,6 @@ #spell-list-view -#thang-list-view - #cast-button-view #spell-view diff --git a/app/views/play/level/LevelPlaybackView.coffee b/app/views/play/level/LevelPlaybackView.coffee index f913bec39..16e00516a 100644 --- a/app/views/play/level/LevelPlaybackView.coffee +++ b/app/views/play/level/LevelPlaybackView.coffee @@ -2,9 +2,6 @@ CocoView = require 'views/kinds/CocoView' template = require 'templates/play/level/playback' {me} = require 'lib/auth' -EditorConfigModal = require './modal/EditorConfigModal' -KeyboardShortcutsModal = require './modal/KeyboardShortcutsModal' - module.exports = class LevelPlaybackView extends CocoView id: 'playback-view' template: template diff --git a/app/views/play/level/modal/EditorConfigModal.coffee b/app/views/play/level/modal/EditorConfigModal.coffee deleted file mode 100644 index f7c9ab857..000000000 --- a/app/views/play/level/modal/EditorConfigModal.coffee +++ /dev/null @@ -1,92 +0,0 @@ -ModalView = require 'views/kinds/ModalView' -template = require 'templates/play/level/modal/editor_config' -{me} = require 'lib/auth' - -module.exports = class EditorConfigModal extends ModalView - id: 'level-editor-config-modal' - template: template - aceConfig: {} - - defaultConfig: - language: 'python' - keyBindings: 'default' - invisibles: false - indentGuides: false - behaviors: false - liveCompletion: true - - events: - 'change #tome-invisibles': 'updateInvisibles' - 'change #tome-language': 'updateLanguage' - 'change #tome-key-bindings': 'updateKeyBindings' - 'change #tome-indent-guides': 'updateIndentGuides' - 'change #tome-behaviors': 'updateBehaviors' - 'change #tome-live-completion': 'updateLiveCompletion' - - constructor: (options) -> - super(options) - @session = options.session - - getRenderData: -> - @aceConfig = _.cloneDeep me.get('aceConfig') ? {} - @aceConfig = _.defaults @aceConfig, @defaultConfig - c = super() - c.languages = [ - {id: 'python', name: 'Python'} - {id: 'javascript', name: 'JavaScript'} - {id: 'coffeescript', name: 'CoffeeScript'} - {id: 'clojure', name: 'Clojure (Experimental)'} - {id: 'lua', name: 'Lua (Experimental)'} - {id: 'io', name: 'Io (Experimental)'} - ] - c.sessionLanguage = @session.get('codeLanguage') ? @aceConfig.language - c.language = @aceConfig.language - c.keyBindings = @aceConfig.keyBindings - c.invisibles = @aceConfig.invisibles - c.indentGuides = @aceConfig.indentGuides - c.behaviors = @aceConfig.behaviors - c.liveCompletion = @aceConfig.liveCompletion - c - - updateSessionLanguage: -> - @session.set 'codeLanguage', @$el.find('#tome-session-language').val() - - updateLanguage: -> - @aceConfig.language = @$el.find('#tome-language').val() - - updateInvisibles: -> - @aceConfig.invisibles = @$el.find('#tome-invisibles').prop('checked') - - updateKeyBindings: -> - @aceConfig.keyBindings = @$el.find('#tome-key-bindings').val() - - updateIndentGuides: -> - @aceConfig.indentGuides = @$el.find('#tome-indent-guides').prop('checked') - - updateBehaviors: -> - @aceConfig.behaviors = @$el.find('#tome-behaviors').prop('checked') - - updateLiveCompletion: -> - @aceConfig.liveCompletion = @$el.find('#tome-live-completion').prop('checked') - - afterRender: -> - super() - - onHidden: -> - oldLanguage = @session.get('codeLanguage') ? @aceConfig.language - newLanguage = @$el.find('#tome-session-language').val() - @session.set 'codeLanguage', newLanguage - @aceConfig.language = @$el.find('#tome-language').val() - @aceConfig.invisibles = @$el.find('#tome-invisibles').prop('checked') - @aceConfig.keyBindings = @$el.find('#tome-key-bindings').val() - @aceConfig.indentGuides = @$el.find('#tome-indent-guides').prop('checked') - @aceConfig.behaviors = @$el.find('#tome-behaviors').prop('checked') - @aceConfig.liveCompletion = @$el.find('#tome-live-completion').prop('checked') - me.set 'aceConfig', @aceConfig - Backbone.Mediator.publish 'tome:change-config', {} - Backbone.Mediator.publish 'tome:change-language', language: newLanguage unless newLanguage is oldLanguage - @session.save() unless newLanguage is oldLanguage - me.patch() - - destroy: -> - super() diff --git a/app/views/play/level/tome/CastButtonView.coffee b/app/views/play/level/tome/CastButtonView.coffee index c49482806..d11c9ff4f 100644 --- a/app/views/play/level/tome/CastButtonView.coffee +++ b/app/views/play/level/tome/CastButtonView.coffee @@ -33,7 +33,7 @@ module.exports = class CastButtonView extends CocoView enter = $.i18n.t 'keyboard_shortcuts.enter' castShortcutVerbose = "#{shift}+#{enter}" castRealTimeShortcutVerbose = (if @isMac() then 'Cmd' else 'Ctrl') + '+' + castShortcutVerbose - context.castVerbose = castShortcutVerbose + ': ' + $.i18n.t('keyboard_shortcuts.cast_spell') + context.castVerbose = castShortcutVerbose + ': ' + $.i18n.t('keyboard_shortcuts.run_code') context.castRealTimeVerbose = castRealTimeShortcutVerbose + ': ' + $.i18n.t('keyboard_shortcuts.run_real_time') # A/B test submit button text context.testSubmitText = @testButtonsText.submit if @testGroup? and @testGroup isnt 0 @@ -105,7 +105,7 @@ module.exports = class CastButtonView extends CocoView , (castable) => Backbone.Mediator.publish 'tome:spell-has-changed-significantly-calculation', hasChangedSignificantly: castable @castButton.toggleClass('castable', castable).toggleClass('casting', @casting) - + # A/B testing cast button text for en-US if $.i18n.lng() isnt 'en-US' or not @testGroup? or @testGroup is 0 if @casting @@ -160,5 +160,3 @@ module.exports = class CastButtonView extends CocoView Action: 'Loaded' levelID: @levelID castButtonText: @testButtonsText.run + ' ' + @testButtonsText.submit - - diff --git a/app/views/play/level/tome/SpellListEntryView.coffee b/app/views/play/level/tome/SpellListEntryView.coffee index d2d39edb1..befca0320 100644 --- a/app/views/play/level/tome/SpellListEntryView.coffee +++ b/app/views/play/level/tome/SpellListEntryView.coffee @@ -37,6 +37,7 @@ module.exports = class SpellListEntryView extends CocoView context createMethodSignature: -> + return @spell.name if @options.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] parameters = (@spell.parameters or []).slice() if @spell.language in ['python', 'lua'] parameters.unshift 'self' diff --git a/app/views/play/level/tome/SpellListView.coffee b/app/views/play/level/tome/SpellListView.coffee index 9bf6ece39..a2d9c3a39 100644 --- a/app/views/play/level/tome/SpellListView.coffee +++ b/app/views/play/level/tome/SpellListView.coffee @@ -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, includeSpellList: @spells.length > 1 + newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel, includeSpellList: @spells.length > 1, level: @options.level @entries.push entry for entry in newEntries @$el.append entry.el diff --git a/app/views/play/level/tome/SpellPaletteView.coffee b/app/views/play/level/tome/SpellPaletteView.coffee index 8750c5f35..683beabbf 100644 --- a/app/views/play/level/tome/SpellPaletteView.coffee +++ b/app/views/play/level/tome/SpellPaletteView.coffee @@ -5,7 +5,6 @@ filters = require 'lib/image_filter' SpellPaletteEntryView = require './SpellPaletteEntryView' LevelComponent = require 'models/LevelComponent' ThangType = require 'models/ThangType' -EditorConfigModal = require '../modal/EditorConfigModal' N_ROWS = 4 @@ -20,9 +19,6 @@ module.exports = class SpellPaletteView extends CocoView 'surface:frame-changed': 'onFrameChanged' 'tome:change-language': 'onTomeChangedLanguage' - events: - 'click .code-language-logo': 'onEditEditorConfig' - constructor: (options) -> super options @thang = options.thang @@ -54,7 +50,7 @@ module.exports = class SpellPaletteView extends CocoView @entryGroupElements = {} for group, entries of @entryGroups @entryGroupElements[group] = itemGroup = $('
').appendTo @$el.find('.properties') - itemGroup.append $('').attr('src', entries[0].options.item.getPortraitURL()).css('top', Math.max(0, 19 * (entries.length - 2) / 2)) if entries[0].options.item?.getPortraitURL + itemGroup.append $('').attr('src', entries[0].options.item.getPortraitURL()).css('top', Math.max(0, 19 * (entries.length - 2) / 2) + 2) if entries[0].options.item?.getPortraitURL for entry in entries itemGroup.append entry.el entry.render() # Render after appending so that we can access parent container for popover @@ -67,7 +63,6 @@ module.exports = class SpellPaletteView extends CocoView updateCodeLanguage: (language) -> @options.language = language - @$el.find('.code-language-logo').removeClass().addClass 'code-language-logo ' + language updateMaxHeight: -> return unless @isHero @@ -266,9 +261,6 @@ module.exports = class SpellPaletteView extends CocoView @createPalette() @render() - onEditEditorConfig: (e) -> - @openModalView new EditorConfigModal session: @options.session - destroy: -> entry.destroy() for entry in @entries @toggleBackground = null diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee index 17477be54..0fc73947b 100644 --- a/app/views/play/level/tome/SpellView.coffee +++ b/app/views/play/level/tome/SpellView.coffee @@ -360,10 +360,10 @@ module.exports = class SpellView extends CocoView spellPaletteHeight = $('#spell-palette-view').outerHeight() maxHeight = tomeHeight - spellListTabEntryHeight - spellToolbarHeight - spellPaletteHeight linesAtMaxHeight = Math.floor(maxHeight / lineHeight) - lines = Math.max 8, Math.min(screenLineCount + 4, linesAtMaxHeight) - # 2 lines buffer is nice, but 4 leaves room to put problem alerts. + lines = Math.max 8, Math.min(screenLineCount + 2, linesAtMaxHeight) + # 2 lines buffer is nice @ace.setOptions minLines: lines, maxLines: lines - $('#spell-palette-view').css('top', 38 + 45 + lineHeight * lines) # Move spell palette up, slightly underlapping us. + $('#spell-palette-view').css('top', 175 + lineHeight * lines) # Move spell palette up, slightly overlapping us. onManualCast: (e) -> cast = @$el.parent().length diff --git a/app/views/play/level/tome/ThangListEntryView.coffee b/app/views/play/level/tome/ThangListEntryView.coffee deleted file mode 100644 index 75d03ac22..000000000 --- a/app/views/play/level/tome/ThangListEntryView.coffee +++ /dev/null @@ -1,178 +0,0 @@ -# TODO: be useful to add error indicator states to the spellsPopoverTemplate -# TODO: reordering based on errors isn't working yet - -CocoView = require 'views/kinds/CocoView' -ThangAvatarView = require 'views/play/level/ThangAvatarView' -template = require 'templates/play/level/tome/thang_list_entry' -spellsPopoverTemplate = require 'templates/play/level/tome/thang_list_entry_spells' -{me} = require 'lib/auth' - -module.exports = class ThangListEntryView extends CocoView - tagName: 'div' #'li' - className: 'thang-list-entry-view' - template: template - controlsEnabled: true - reasonsToBeDisabled: {} - - subscriptions: - 'tome:problems-updated': 'onProblemsUpdated' - 'level:disable-controls': 'onDisableControls' - 'level:enable-controls': 'onEnableControls' - 'surface:frame-changed': 'onFrameChanged' - 'level:set-letterbox': 'onSetLetterbox' - 'tome:thang-list-entry-popover-shown': 'onThangListEntryPopoverShown' - 'surface:coordinates-shown': 'onSurfaceCoordinatesShown' - - events: - 'click': 'onClick' - 'mouseenter': 'onMouseEnter' - 'mouseleave': 'onMouseLeave' - - constructor: (options) -> - super options - @thang = options.thang - @spells = options.spells - @permission = options.permission - @reasonsToBeDisabled = {} - @sortSpells() - - getRenderData: (context={}) -> - context = super context - context.thang = @thang - context.spell = @spells - context - - afterRender: -> - super() - @avatar?.destroy() - @avatar = new ThangAvatarView thang: @thang, includeName: true, supermodel: @supermodel - @$el.append @avatar.el # Before rendering, so render can use parent for popover - @avatar.render() - @avatar.setSharedThangs @spells.length # A bit weird to call it sharedThangs; could refactor if we like this - @$el.toggle Boolean(@thang.exists) - @$el.popover( - animation: false - html: true - placement: 'bottom' - trigger: 'manual' - content: @getSpellListHTML() - container: @$el.parent().parent().parent() - ) - - sortSpells: -> - return if @sorted - # Keep only spells for which we have permissions - spells = _.filter @spells, (s) => @options.permission and me.team in s.permissions[@options.permission] - @spells = _.sortBy spells, @sortScoreForSpell - @sorted = true - - sortScoreForSpell: (s) => - # Sort by errored-out spells first, then spells shared with fewest other Thangs - # Lower comes first - score = 0 - # My errors are highest priority - score -= 9001900190019001 * (s.thangs[@thang.id].aether?.getAllProblems().length or 0) - # Other shared Thangs errors are also high priority - score -= _.reduce s.thangs, (spellThang, num) -> 900190019001 * (spellThang.aether?.getAllProblems().length or 0) - # Read-only spells at the bottom - score += 90019001 unless s.canWrite() - # The more Thangs sharing a spell, the lower - score += 9001 * _.size(s.thangs) - score - - select: -> - @sortSpells() - Backbone.Mediator.publish 'level:select-sprite', thangID: @thang.id, spellName: @spells[0]?.name - - onClick: (e) -> - return unless @controlsEnabled - @select() - - onMouseEnter: (e) -> - return unless @controlsEnabled and @spells.length - @clearTimeouts() - @showSpellsTimeout = _.delay @showSpells, 100 - - onMouseLeave: (e) -> - return unless @controlsEnabled and @spells.length - @clearTimeouts() - @hideSpellsTimeout = _.delay @hideSpells, 100 - - clearTimeouts: -> - clearTimeout @showSpellsTimeout if @showSpellsTimeout - clearTimeout @hideSpellsTimeout if @hideSpellsTimeout - @showSpellsTimeout = @hideSpellsTimeout = null - - onThangListEntryPopoverShown: (e) -> - # I couldn't figure out how to get the mouseenter / mouseleave to always work, so this is a fallback - # to hide our popover if another Thang's popover gets shown. - return if e.entry is @ - @hideSpells() - - onSurfaceCoordinatesShown: (e) -> - # Definitely aren't hovering over this. - @hideSpells() - - showSpells: => - @clearTimeouts() - @sortSpells() - @$el.data('bs.popover').options.content = @getSpellListHTML() - @$el.popover('setContent').popover('show') - @$el.parent().parent().parent().i18n() - @popover = @$el.parent().parent().parent().find('.popover') - @popover.off 'mouseenter mouseleave' - @popover.mouseenter (e) => @showSpells() if @controlsEnabled - @popover.mouseleave (e) => @hideSpells() - thangID = @thang.id - @popover.find('code').click (e) -> - Backbone.Mediator.publish 'level:select-sprite', thangID: thangID, spellName: $(@).data 'spell-name' - Backbone.Mediator.publish 'tome:thang-list-entry-popover-shown', entry: @ - - hideSpells: => - @clearTimeouts() - @$el.popover('hide') - - getSpellListHTML: -> - spellsPopoverTemplate {spells: @spells} - - onProblemsUpdated: (e) -> - return unless e.spell in @spells - @sorted = false - - onSetLetterbox: (e) -> - if e.on then @reasonsToBeDisabled.letterbox = true else delete @reasonsToBeDisabled.letterbox - @updateControls() - - onDisableControls: (e) -> - return if e.controls and not ('surface' in e.controls) # disable selection? - @reasonsToBeDisabled.controls = true - @updateControls() - - onEnableControls: (e) -> - delete @reasonsToBeDisabled.controls - @updateControls() - - updateControls: -> - enabled = _.keys(@reasonsToBeDisabled).length is 0 - return if enabled is @controlsEnabled - @controlsEnabled = enabled - @$el.toggleClass('disabled', not enabled) - - onFrameChanged: (e) -> - # Optimize - return unless currentThang = e.world.thangMap[@thang.id] - exists = Boolean currentThang.exists - if @thangDidExist isnt exists - @$el.toggle exists - @thangDidExist = exists - dead = exists and currentThang.health <= 0 - if @thangWasDead isnt dead - @$el.toggleClass 'dead', dead - @thangWasDead = dead - - destroy: -> - @avatar?.destroy() - @popover?.remove() - @popover?.off 'mouseenter mouseleave' - @popover?.find('code').off 'click' - super() diff --git a/app/views/play/level/tome/ThangListView.coffee b/app/views/play/level/tome/ThangListView.coffee deleted file mode 100644 index f8b0cc9d0..000000000 --- a/app/views/play/level/tome/ThangListView.coffee +++ /dev/null @@ -1,95 +0,0 @@ -# The ThangListView lives in the code area behind the SpellView, so that when you don't have a spell, you can select any Thang. -# It just ha a bunch of ThangListEntryViews (which are mostly ThangAvatarViews) in a few sections. - -CocoView = require 'views/kinds/CocoView' -template = require 'templates/play/level/tome/thang_list' -{me} = require 'lib/auth' -ThangListEntryView = require './ThangListEntryView' - -module.exports = class ThangListView extends CocoView - className: 'thang-list-view' - id: 'thang-list-view' - template: template - - constructor: (options) -> - super options - @spells = options.spells - @thangs = _.filter options.thangs, 'isSelectable' - @sortThangs() - - sortThangs: -> - @readwriteThangs = _.sortBy _.filter(@thangs, (thang) => - return true for spellKey, spell of @spells when thang.id of spell.thangs and spell.canWrite() - false - ), @sortScoreForThang - @readThangs = _.sortBy _.filter(@thangs, (thang) => - return true for spellKey, spell of @spells when thang.id of spell.thangs and spell.canRead() and not spell.canWrite() - false - ), @sortScoreForThang - @muggleThangs = _.sortBy _.without(@thangs, @readwriteThangs..., @readThangs...), @sortScoreForThang - if @muggleThangs.length > 15 - @muggleThangs = [] # Don't render a zillion of these. Slow, too long, maybe not useful. - - sortScoreForThang: (t) => - # Sort by my team, then most spells and fewest shared Thangs per spell, - # then by thang.spriteName alpha, then by thang.id alpha. - # Lower comes first - score = 0 - # Thangs on my team are highest priority - score -= 9001900190019001 if t.team is me.team - # The more spells per Thang, the lower - score -= 900190019001 for spellKey, spell of @spells when t.id of spell.thangs and spell.canRead() - # The more Thangs per spell, the higher - score += 90019001 for t2 of spell.thangs for spellKey, spell of @spells when t.id of spell.thangs - alpha = (s) -> _.reduce [0 ... s.length], ((acc, i) -> acc + s.charCodeAt(i) / Math.pow(100, i)), 0 - # Alpha by spriteName - score += 9001 * alpha t.spriteName - # Alpha by id - score += alpha t.id - score - - afterRender: -> - super() - @addThangListEntries() - - addThangListEntries: -> - @entries = [] - for [thangs, section, permission] in [ - [@readwriteThangs, '#readwrite-thangs', 'readwrite'] # Your Minions - [@readThangs, '#read-thangs', 'read'] # Read-Only - [@muggleThangs, '#muggle-thangs', null] # Non-Castable - ] - section = @$el.find(section).toggle thangs.length > 0 - for thang in thangs - spells = _.filter @spells, (s) -> thang.id of s.thangs - entry = new ThangListEntryView thang: thang, spells: spells, permission: permission, supermodel: @supermodel - section.find('.thang-list').append entry.el # Render after appending so that we can access parent container for popover - entry.render() - @entries.push entry - - topSpellForThang: (thang) -> - for entry in @entries when entry.thang.id is thang.id - return entry.spells[0] - null - - selectPrimarySprite: -> - @entries[0]?.select() - - adjustThangs: (spells, thangs) -> - # TODO: it would be nice to not have to do this any more, like if we migrate to the hero levels. - # Recreating all the ThangListEntryViews and their ThangAvatarViews is pretty slow. - # So they aren't even kept up-to-date during world streaming. - # Updating the existing subviews? Would be kind of complicated to get all the new thangs and spells propagated. - # I would do it, if I didn't think we were perhaps soon to not do the ThangList any more. - # Will temporary reduce the number of muggle thangs we're willing to draw. - @spells = @options.spells = spells - for entry in @entries - entry.$el.remove() - entry.destroy() - @thangs = @options.thangs = thangs - @sortThangs() - @addThangListEntries() - - destroy: -> - entry.destroy() for entry in @entries - super() diff --git a/app/views/play/level/tome/TomeView.coffee b/app/views/play/level/tome/TomeView.coffee index d8335993b..453acd1bf 100644 --- a/app/views/play/level/tome/TomeView.coffee +++ b/app/views/play/level/tome/TomeView.coffee @@ -32,7 +32,6 @@ template = require 'templates/play/level/tome/tome' {me} = require 'lib/auth' Spell = require './Spell' SpellListView = require './SpellListView' -ThangListView = require './ThangListView' SpellPaletteView = require './SpellPaletteView' CastButtonView = require './CastButtonView' @@ -62,8 +61,7 @@ module.exports = class TomeView extends CocoView #programmableThangs = _.filter @options.thangs, (t) -> t.isProgrammable and t.spriteName isnt 'Hero Placeholder' programmableThangs = _.filter @options.thangs, 'isProgrammable' @createSpells programmableThangs, programmableThangs[0]?.world # Do before spellList, thangList, and castButton - @spellList = @insertSubView new SpellListView spells: @spells, supermodel: @supermodel - @thangList = @insertSubView new ThangListView spells: @spells, thangs: @options.thangs, supermodel: @supermodel unless @options.level.get('type', true) is 'hero' + @spellList = @insertSubView new SpellListView spells: @spells, supermodel: @supermodel, level: @options.level @castButton = @insertSubView new CastButtonView spells: @spells, levelID: @options.levelID @teamSpellMap = @generateTeamSpellMap(@spells) unless programmableThangs.length @@ -77,7 +75,6 @@ module.exports = class TomeView extends CocoView thangs = _.filter e.world.thangs, 'inThangList' programmableThangs = _.filter thangs, 'isProgrammable' @createSpells programmableThangs, e.world - @thangList?.adjustThangs @spells, thangs @spellList.adjustSpells @spells onCommentMyCode: (e) -> @@ -187,7 +184,6 @@ module.exports = class TomeView extends CocoView @spellPaletteView = null @$el.find('#spell-palette-view').hide() @castButton?.$el.hide() - @thangList?.$el.show() onSpriteSelected: (e) -> return if @spellView and @options.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] # Never deselect the hero in the Tome. @@ -207,7 +203,6 @@ module.exports = class TomeView extends CocoView @$el.find('#' + @spellView.id).after(@spellView.el).remove() @$el.find('#' + @spellTabView.id).after(@spellTabView.el).remove() @castButton.attachTo @spellView - @thangList?.$el.hide() Backbone.Mediator.publish 'tome:spell-shown', thang: thang, spell: spell @updateSpellPalette thang, spell @spellList.setThangAndSpell thang, spell @@ -217,7 +212,7 @@ module.exports = class TomeView extends CocoView updateSpellPalette: (thang, spell) -> return unless thang and @spellPaletteView?.thang isnt thang and thang.programmableProperties or thang.apiProperties @spellPaletteView = @insertSubView new SpellPaletteView thang: thang, supermodel: @supermodel, programmable: spell?.canRead(), language: spell?.language ? @options.session.get('codeLanguage'), session: @options.session, level: @options.level - @spellPaletteView.toggleControls {}, spell.view.controlsEnabled if spell # TODO: know when palette should have been disabled but didn't exist + @spellPaletteView.toggleControls {}, spell.view.controlsEnabled if spell?.view # TODO: know when palette should have been disabled but didn't exist spellFor: (thang, spellName) -> return null unless thang?.isProgrammable @@ -225,9 +220,6 @@ module.exports = class TomeView extends CocoView selectedThangSpells = (@spells[spellKey] for spellKey in @thangSpells[thang.id]) if spellName spell = _.find selectedThangSpells, {name: spellName} - else if @thangList - spell = @thangList.topSpellForThang thang - #spell = selectedThangSpells[0] # TODO: remember last selected spell for this thang else spell = _.find selectedThangSpells, (spell) -> true # Just grab one spell @@ -241,10 +233,8 @@ module.exports = class TomeView extends CocoView @cast() onSelectPrimarySprite: (e) -> - if @thangList - @thangList.selectPrimarySprite() - else - Backbone.Mediator.publish 'level:select-sprite', thangID: 'Hero Placeholder' + # TODO: this may not be correct + Backbone.Mediator.publish 'level:select-sprite', thangID: 'Hero Placeholder' destroy: -> spell.destroy() for spellKey, spell of @spells From f3dfcdc81dacfafa8fd56881ab96d7cdead7d5a8 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Fri, 7 Nov 2014 19:15:55 -0800 Subject: [PATCH 03/75] Implemented new HUD design. Removed more unneeded stuff. Changed reload button to restart level. Still need restart confirmation and to redo the sprite dialogue area. --- .../level/action_timeline_indicator.png | Bin 290 -> 0 bytes .../level/code_editor_tab_background.png | Bin 332 -> 0 bytes .../code_editor_tab_error_background.png | Bin 505 -> 0 bytes .../images/level/code_palette_background.png | Bin 3098 -> 0 bytes .../images/level/current_action_indicator.png | Bin 312 -> 0 bytes app/assets/images/level/hud_center.png | Bin 1669 -> 0 bytes app/assets/images/level/hud_left_wing.png | Bin 3760 -> 0 bytes app/assets/images/level/hud_right_wing.png | Bin 3770 -> 0 bytes .../images/level/no_selection_pointer.png | Bin 12491 -> 0 bytes app/assets/images/level/playback_thumb.png | Bin 2223 -> 0 bytes app/styles/play/level.sass | 1 + app/styles/play/level/hud.sass | 432 +++++++----------- app/templates/play/level/hud.jade | 35 +- app/templates/play/level/hud_action.jade | 5 - app/views/play/level/LevelHUDView.coffee | 246 +--------- app/views/play/level/LevelLoadingView.coffee | 3 +- .../level/tome/SpellListTabEntryView.coffee | 14 +- 17 files changed, 190 insertions(+), 546 deletions(-) delete mode 100644 app/assets/images/level/action_timeline_indicator.png delete mode 100644 app/assets/images/level/code_editor_tab_background.png delete mode 100644 app/assets/images/level/code_editor_tab_error_background.png delete mode 100644 app/assets/images/level/code_palette_background.png delete mode 100644 app/assets/images/level/current_action_indicator.png delete mode 100644 app/assets/images/level/hud_center.png delete mode 100644 app/assets/images/level/hud_left_wing.png delete mode 100644 app/assets/images/level/hud_right_wing.png delete mode 100644 app/assets/images/level/no_selection_pointer.png delete mode 100644 app/assets/images/level/playback_thumb.png delete mode 100644 app/templates/play/level/hud_action.jade diff --git a/app/assets/images/level/action_timeline_indicator.png b/app/assets/images/level/action_timeline_indicator.png deleted file mode 100644 index 2b6cff5bdcc1b59fb0afdf3f19eaffd062875b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CG!2~2LdR|-uQZGGS978yw8SgPD{%45rwqLh! z@{F#=6>}%goY1j+?$kLG+gHq*uxfVywAOMjD+6a^Ee3x_lV#I8{{Q>->Fulk|Nnpa z`u!h}`u+Xi*SA##=}ty!_WCLeM(VP*#+vI^EcyTc&&O}Se*FIrM4!HVD=W-3(^Iq4 zSF_VoWw0~VwlmkWH_=+NXckc2*I)mB{r*=~R%~ygYpbVhXP{-RufbrZuV!hY?QE#* zWTLfo_2U2kew7sDn(M2(7^}PK%i9`gSppT=8|zpaYPp!`*yyUdndwEi+qs(R+Ucv? i>Zv&yYXMENGf+OrmfR_S(RwD((+r-jelF{r5}E)l3v?O) diff --git a/app/assets/images/level/code_editor_tab_background.png b/app/assets/images/level/code_editor_tab_background.png deleted file mode 100644 index a75431a78e7507409d5d755a821dc976b6bc79b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^ML=xB!3-pO1LcB&lyQJhi0kdcbwDPNBpwy=KDPtv z5hw}r3vOU=*l%!Np&((tK*0U}_3u-Iu0IFL?eKJQ45^5Fd+jDyvw=YC!;?N@!qcDq zoxg3Fhhpx;pbs41{*)hUb$+R!^Eprx=whT+zzGG5wYnopTtGMdIlPXPW#`Cr;_L#)!uQlsTMUcuP z&vG7zOOHMG@^~6O^mLreJTGL@@h2abDDRZ_oYX3QFSRc2llqe;_1-7%C(hZq_Wcpt nY26+NCYPNG&tffSihMVJ(wu)UtNm{P{lMVq>gTe~DWM4f`JWLt?Bepg-)|Fgal7GHB`eJLs&7GBV423rXZ4xR8 z@(X5gNN6ZfU=T0}=-(xPJfcH;4HewwW5{*^9oikM411l3)@j|9|z$k{jVigbsJg zJN}s6cBjYt_KtI3*kunhA3pWP)9x3uY@?a2*q7s}mii9&?IM)*|3qEMFwcwSV+&m* zyURsG*hOoq$5Wx_zn-)kHOhqEn#k?PwY4R3VRhfC)L`A(?vz#2%C8EY`+D-})8pzP zQLiU=gyh!$d~19~J>28!v5>V(i#oGwi|XQ8-#-bDe4V|jq%9=#;LE4=YqWz_N?NX* z_VJ$G`zO<-=0`65YArL>c3Md0;VG+RS6=G-_5H@0y8fpR&FAw6^(8VLn+6P722WQ% Jmvv4FO#tM0-9!KY diff --git a/app/assets/images/level/code_palette_background.png b/app/assets/images/level/code_palette_background.png deleted file mode 100644 index e4756b4df8f0d26f531f21001e50686678e5205d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3098 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 KMNUMnLSTYO1%+_{ diff --git a/app/assets/images/level/hud_center.png b/app/assets/images/level/hud_center.png deleted file mode 100644 index 958d8d6d809de1e0a5aa5514565f88de609fdfae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1669 zcmV;027394P)}_;G$xIWjMGZe@FOYHny@HYy%8Cmgn_n5CMElZkvaC>=E^ z9XBfUGbS5>d2Tl>Aj?;(XaE2Ozez+vRCodH-HUdkt`^5}yTd+H725IA zq}Tb+eJt<)fF~MSOo|c{(?tAzUm>3bECLw)4-E)KuLun&8WciT141ZTEN)-7`f_!x z5n6YB^<~?}?P9S5<{4nN1DNLzV1B>a5`ftbV3Jqc?*`1xtL;C4L2WQK3ERyFF!AAF z*d)o63tL7eHfb~wF!4Yz9t^5FE+sbQv`IqL^uXMEFeuSqHD;niRH4zuj4)&TAa+E` z4Zacew5Pd?v4bgT{J4(lGSMohcHB;1bO4iXgFyh3_Jc{n2h+@yWouT$NY(=;nJ1W{ znF&1$a@7cub6pbw3>zh?8k!O$HJTL|N$=$c?HHBXAHX~sFoCaMDu1LeD7H!3EfWV- zk}Gc4fO+f%6B#hU$CRn6GeyN&Oc)KN*i@alyBbUcFmDy)G$V+$={#U^%LQOAEZSb` zW+Yi(Si4h^Fe!jJNA~|IJE4~ExC zoL!m;n79|rsvAtfM43>P$-Q}j0tB<_0Ta8xup|SeFC}uo2@*^^0F3#^#UJ1R4CkWq z<$(h?L4x_~1k;Y0rCGuBwK?*LJ0RhL`P+b5xWTw%%7yEE+8m4k%wiWz>IGxe2=`e4 z6d;)NNH8Y3Hd9LN4FQaaS%(wXk!k382Y?AXyH}kF|IHJT&FStEz}TTH?(wTtqF~Ti<111F+1TfPa%bI0SF=a3bz?@hJ<&O1|5@Iv|T_~6YU_MERG<$=C z9u>`-fd^o`Zz{AlUEdzQW1grL+Otx1)5#cM9Irx^o_!IOQK3VQsjRjWIki?c0K?qO zbZV3s{#YE2Qq zz)>5_nnVgPa0D+jFA%Nl5!w@5XjS^s%(YjSYVA%0FTmdpe zz^tNm%MLJ6T^!!G2Aa1{sg4I~0hl6I#>S=CqZax-F3@}rPTZ=1``2H zM}^E)`>c{==H3h4%Ir~3@=-MdCUSxK2{67`X3BF|iPu>veSeGdRKff-U~T}WH(6Gr zCqzla69aPtFoR+fnM$$AN27^0@g{AWGME@(jx4x~o)%0DFbH5iA%OWm?si3@n2`xq P00000NkvXXu0mjfGAYg7 diff --git a/app/assets/images/level/hud_left_wing.png b/app/assets/images/level/hud_left_wing.png deleted file mode 100644 index a52a46b61bc2c53bb8460286d137016e3f5bef2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3760 zcmV;h4o~rkP)tG(t2jURF_6Lp76#drUkrKQu6$kb*umF+({t zOg}TFnTmyday>LLwyKy}NH{}0J3urqzp|f!cWt|_oJu`2MLIN4K{PxxGo_k}M?5oc zW?#g%qg+ZkJ~lK)J2QB2XF@qNUral6Y-2q(G-h5{VoyAmjDK%vV2Xitt)h`ZG%hlwHW8Flznt+oRNb+GALG0OF1nhj)Zt? zV_Zl)Ggd}6TS+)XIWt&BH%&Y-j)izxM>o5!n@Tz_Vp~;ILp5ViJ(GxhP(L$LK{TM1 zhdMMgE+ZXgQa(d8EKfi)W3;^i000c@NklQXRWdViS!HW$yKNxG z>^ml`fdF|4goGsvWPg*HB=eG4-ZuME`08IDb+xX#u3WcEGGr#y4^4Bf4v>63W%!h-`|TC6}o*lvA?|Bi&E6~EPwjaa$h^t_Lpx&?Gh=k z^rtU^ z7eCzBe%?;oX2f2W&aysDKQNshYV7yP9$Q^};?hqpHsk8ns*)1z+f~qVzMuV?wfhbp zIk?Z-{~>ENsd8#pPIJ}TPmUbCWbJwzHNJg^*e}+_4;(pA7r)rd8Cl1bYVAveeyELK zZ$49C`H=mvwFed_?TodD=}eOW`+0lvy-E7LleGpHVaQ&NCdHrFORo5(y133K_N*GS z_H$@CVC`?GpE;_Gr1pFMsqU-8r;i_B+-J`R?YNQYiT$Rle)jm{SN1AKNA9I#SE4O` z`S{to_#tOV>pGPh7eV_2`$-c&W3OU=$%5LwBi8M~#l^SlTg-RgwCh1TriF5&R2Tnn zVd3aE)?!q+7qoA;b}W8$Vc|n8t|xJ0RM2ki!)g58KQz@#SruxI{mA0kg-Lt8hyC27 zBY!nXzxBCo_L`j9m(bo6KTV2f(|BuNq4veb@?m4oaG8y`et*s7|D$Uk@3wzwPcAMV zb@88D)2zxQWFKL_f7Iz133KeH8_U9MR7cJ(h~1m-A2s$v)UK%A?Qu`)o_x#2zqr{Z zLv|rt@k>qdH*n{u#=QNiJ%jeyY7&~-SLi--+4bai_HfXSX%KFo`TX=hrkL|lyDNU$ z6@TA;iE+;EcGUN#@!!mLF(DYc)7V?Teq-Sm@7rtS8XvZsoA%^^|E~w>i>oGVKY@3E z&4zvH&3c^vgk##Z(>uurb^Nb&{IgHjtB9Rk%LtvdS6^P8rjg#YV>*GV!MoPdt1%eQ zPH(NubxW_>yq(_9R9(C7+VKX(+VzVh8L$K3-Oo*X^ZGeIE~%Z|pSt)1j0fzIdw$$K zgtKGXfMAj!89QmbT_kEU#|rN22emKvu#3iyY1z|$Wsv>0J5)?wQpOH@u_t@7F9+>o z#=heYP2BO`-0{Xh@5v5B?8$t)o@)p9BE22jdpq1-sbO}QZ&x%fLiUXGJ7?eNW6#lk zzhfVp=Wfp{AP2~-V^6|%!`LO-cRF?`E6v;QhwbfT&OrJ0rDnPSS*x<>*dc6}VSBmD zo}gV-!asN4j_JH(*E3AW?grUERo%~CA_sHa6 zCQWPK?${H#%brKl0`dsaueH*G_ z_Pk>+96hCSvzIHXtt~+*Yj6GMxPQEzhJ?#dP zXRs&U#b%hjB6fO&jM*^_B6R^YKR_L0|-1ML;DlOswP#q77q-)TwfYgde&`7>qF&#piO z=^5Hxn%c*@P+8cHUz~Jb`%?HjuznW1oMRsWKoYiNTBW2~32KNvqo}yOOeZI63}e^Y zo91=P=Gz7BiDC9?o_*W5lXvBqu`A`zM}T6kUD6LXto`GlJ)L7;3fiIVFlxU??G8W1 zh-|lgJ7BL^`%2I*2HHn%9*h!dZ_`rIY69;gi5=6KrkHe~J?U-7fSkN?c5*{Lj@T>3 zcVrK{hQW3<$6n=h@ulgNYUjpvYS*}pc=i)fdos{&AZAwppj4v!+Ve>Y!=8O5YKMV#8MT+-+PJS>&g?4Q z?;}DPW>*lK?k5SZ6yP)=Jki81oN2K_k?Z1oL6V9IP#cl+od6j2F?3oPN`59&~Ujb*Y zKr_9=+Oc@5hS(E5%$~FZoAP$mA(@``F<|vHW+!{G;O!)zkbS9-JxhzO{XVn&QImsj zza38N)&jlkdiFOWVkh+lwU0p&JH2d=GjCAQJ|=cAt&I0EXpzM3?_s4R3l!~|+Lw8| zm}fWX*c&jkYsQ{|mrl_#rgpj_{OV{=c>AazcHI0#$X|vYlq!-IW3U{ED2}V{!cmbHZP-gPn5EDoP^XaseRQQZE%`kpR^WW z?DQuzvdycGebv`y9XptYiS`x0^GwX{(olF^O)Qybr@ID(?Yd)MVSj_7umUi4xy!CP zb_Z0`biT_XsePH)RlqJ7J2q-Bp4l!Z3W@1|rCsCDz99C@vnS25!|nK0Sp7hDtX~=b zM|~szB9>KE>DfQ#>}klpgmx3Om(+e`jy?1DRQg+pu@3xDNWip&LOZ$T2x@f5UUF$g z?JKMu4~CFkpx2Rodul2jwU1FFLUtLj%K`RszC8u+IARA~iKxBZO_SaBOqhVZbeHCS zc7^}TgLdHUpcBqsc6U<))K1gBUE`Uuc1`SV4HhwbM(x-_cGaz3cI+~gc7()z61D%C z*afkt23M1BuR3Tf8G+w{w@?n^5~|3n;zvC2PlVAA9MXwI`Kd91kv{b~IH2 zXQmF?Q-i}ZE3a95LYC*4NuwPKKaK~FqIQAygkImfb}0OcX*L;RgR4q~ z?Ej7R$tJ|v_t#ox%2GS_3+PCk+W!|N`1eShX-UYwA4gL3vg3+K`r1=N;t~6P1SkG7 z$;i1AyPLHd`q~qN>8QOKaigKHJ;%}qwY6h+`r0?P*4EaxHX`;&oZ7`~KitCSp!BkDtWDEv8;t#r;I~aI&e(In zMl4(N?4Z+G^;<_C9=t{Bv-XV(_T-r(M?SIk0%NE2_8}{qVLKhAW3}a=d&&z0kwHHhEOZYt!eTtVQh`ljm_LHhIp#O<(& z4_V>%cj)f#m)`ugrhobvSUbhLc9+npo#I`)u)*6Yo?a-a{RV`utH(BYJLPQF_Yj*j zP3`ntA3wVAn4V~BCpYAHvvhY2Da0PC4R>6e>|oUXd*EB#P8+rJH->S09K+S;?H~L| a?EeH7e>tB43|+SX0000JJ~lL5N;$-~qhCxrLOC>eaA$OEV?8!BW?opAjDKQJJa1@VK{PIkfpx8- zk*%STQbIJgshDL^JwZ4$j)i$UG&EB~H9IvlJ2W#rG%~54j$T($S4B3HiF`gdIA&j1 zOFlDrZ)QwILRd#PM?pVUPfMJUgHJy)ihp!JGAOd8lteZwj)ZtNDkFV#YJGKTIV~hi zMMIN_e2#^9P(L$RMmJJHG)+7)pp}PILp5ViJ-e=(Rz@~rTUBdgTtqoDNIWx2IxkyE zI9W$G(88@~VqAfFZaOqH{6gg&000d2NkltEd*jCgTg)Qk5T zwf5R0w{3+1m}g9~X_rgR=(-re23+jg2E1|BsJ*u1P29Lh?b?M6BuMMT=`}5ywjX-G zd|LhWiW0@!kfOA9T9h9KSm>RDN938KSzr(}NUe&Ygb?Mt+il%GJ z01+yXtbGXq9s>*~=}*7z?4t%qB7O2zXXkV2FTU>Wl*~(iCGEO6PTSYt>g*~;lJK!m?Q#3j-R*XJ_b6r;f@r&Z5q(@l?3M4meYoA8-S+IOh#ii) z^!CuRtfKZi?Xd26BX6`5B9j%UeK~#Er(d2TXU08KcJDOB^P%`w$WT=!?BCUvkbNKv zgs`%owe96A*RNb|+e62`ukDm}d7^seRL4&p`^vTpt=YEiy{p$hZ`=EQn!5HJ@!CfI ztFv6aezmjQjoXPp^q^_+j@lbkNPEtXI!hnF*S?e|TUQ~w9@?kv%_lPb zp-iU9VS8D{FZbt!sb}x^ zQNF0^zudd=Uaxs1?M#i|u>DR~{Kk!2s<>WHT{|ri8Fs8~|Muha^J_oc+xt=52JKV` zBqy=zfsZ~L;#b?PWj`71Sf=EQs{ZS1=jWew_uB6y#k#g{SH(NaxhifX+Fp;1S15aD z=~lNnu6?8J5|g7s*+1yxxAv|(_I=l$s~OXN@v%(*T<+xU8TJp9<$BnTdwXqm=Dc6u z+q*Sk2jZ3gWZd^UWala_+TZu-YkPY)+gH2x#<%}KS*}jl8P*-C?eDhty8<8;M&dJ{G*G1)Wr|& zZ==UyySV>lx0Qdqaa08SJUA6qxR96{b0&HI{{+F=!0w1nw{0uG{)Ftzww68B@=NGb56QCwVdOJ+o*|eQ6vBSme!F?}6cI;y4v>le&DOzIZ zp1mLr1yKIh?V|DQ&qjMb$G*~b@a&~+&j3{8?AvwEdlj~md3MZPJL8jfhCMq8*^y(fL8m=?Sp?~MInNH* zwF7u|?$|L;*z+Ab;hz0O+aoRGw9-?{o=Y$Z+o`r6YkLQ&EW2`e8e=EEodIw+y}!u5 zZ`n!O&Jfzzb`rA_t%=(!fO4t5p0H=yo;!9j*lFAjz8yvEl?ml2X2%gbp0HzWC+_>R z-d=k4e3>1A_Z)a@_HxS3dV7J;fwoHxpKqsW`|Fgw%q-HzvePNM;4oBNJ9Zqg3uQlc z?ebP}+`dWKDNNW|%#H-ZwMg3iKR1?LxnYi-U%*at*X}Rh&X(EfTsvIEj+WU?9{3yB zIf$9|+(-@<+gHY3Id&YfKQMMS*mLU<;y)bLX*;oZ(b%PxSaz1O(5jzKfdcscL%#N1XiTn0xdjSAe z<1-eq3n8y&)k1p~w7-tpg=;61_7cGUJW(34H@tq#6mky+K;u} zlxKrI+>gd?%5ne}ux}hYS!jo(eWUG$BUSlaJL8lB08QHIQadq$I=%1I*vVXb1O2L! zc4zBw+HTJZn(B8w=!CJS`#taJnMn3KIQI0MfqH@6%z`C$#LbDt=ZxR*v`Wl(PeYS- zC@x@cFyImydlj=&XXGaAu0|ATd$ri^FAOARukBpQ?jKazPHlUYzg;_CYNx5VwtHJ6 z|73pn_yC;>22Z5?2Iq5 zQ#G%n_UMT+Kry?%D-P8xJGN$5+Mel#X=d7mcawC&UaAZLn`IwM@mT(`v73KTacrPH z^X+9;%(NS^`>`dJHw%oNjCpJ#f|~f+u{X+YS1%eX?c1q$LKM6EV(dn&b~Mz@+HPx{ zM{EN{#Lh-LSm{hm*>T*ycI_ZS_6(|+odxnWG!Z-3cH_lRhU{3C0>@s~6Lz94xj9uy zjM#a=&WFt+yLQlaVr@(vwyUJm@Ptm-skRXB$1}d&(dZFn8c6i-IdJV{*ABqr_RJ*H zb{4jSH#v;G*v${|5@dRlvJ1QT#@M;K=-LbWuLIAH19s}z*RGxH1!r7`3}rjK2_LXrvl#@LMpb~Tl6HxP)~_bodeHVts#XH=|F>4?2r zU?%|$3EA;zZ<2O~L}uIVXAH(cdp>IEJbNt@RlqKAv1{jJfF|u2F|h5n0kWXI@2c9d zvxwbjm~F4DxNisHPrfQ<=M3U@@a(1|MdsMCWB-e5heFMRGI&hHvseDk(3l;-w-<4{ zu~2aA+_68k>?&93eB5p%xszsoI&LSP9qrh8MZvX$WB-L`2TC(1kEiUw%84`$*fTX2 zQ})pPqC8<&iw2LW(sp;%I-RnstHiR4+4j=4|0!axO<}7wX~d3o+P2re-PEG?Y)aWP z-H{F^=gJ<_RA3Js{4i|iI&Bx{Av;lu`F6w291Mks9n7toxPXJO9Yi3V!$aS$ACfp= ze;l=!x@GLAERWiA>sA}xZ!vqN)229sgMgi?p!tk6%D#@+b(9YUG$v|is;(X9+8$1q zc3Nb{?k9ykJ(y?zPc!%T;xrJ%0lcHFKSL@><8^Vhy#(4OQia@uc*jZQs&ZhV)v73- zh=?Mn?<#cub#1m;c0#tZ2R^jyLmr0VlO?-Z+VUj~ay%d_v1zrdA6CM^T#6xB?ZuZy zoxp4!0kv1o5k~q0Zx33H(4#B20{}-BJNTV;q%Z(_f|kTisvA*2n(x)yAuOk`v;%9W zBPub_)poW#0O%3BWwgq9`EA(A1MeB@J1j3BI@*2pL=rn!9)Y91Sw5XT!%lknKz_GW zmp>fs;I-A=vv$40+CH%})nQ<>L)7S)YuYdEJy$yfO&{Ft;5P#xcBUG@Y7ausSko=o z*h6A>8cSm5#&>P!hTTqIXwA}o^ZfSSx$OP_XjlLG)mPrnowE10+u>Gg547Fy@2Z{M zncA?;E)yX{B3U~vcePJbA=1p%E>nRbmBuMI+GbBseG;k(E%ta*9uv(ki(Lv;Eu@n@ zu3Dl-bBjGKl1la`h$)?$dV8#+N+{l9&k^4ahvU1LOU|z7ll{}-L^p@P1G_yla!{tc zT_S!g%EyS3w`V#Bh1}|1yLhZiAu5(Zv z>{EO<&^ahm-frZexY%_LN_F00tNoxl@7+4P)Hx`Q^L|2_bN1ZGK@q$?(K#p+OjtY2 z%N&$_oB?Z(H}}Ze5s>KByW$^tsb1xeFnOPC1KwzEBq44l))(#1a@gGl-oZJ?0!~ kxAWuAPT7~*?%ez0UvG4FeNws0+W-In07*qoM6N<$g2H%)-2eap diff --git a/app/assets/images/level/no_selection_pointer.png b/app/assets/images/level/no_selection_pointer.png deleted file mode 100644 index 80a2419eafd7215f8824b6e8ca552760ac0441af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12491 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 diff --git a/app/styles/play/level.sass b/app/styles/play/level.sass index 2f878b51b..35462f286 100644 --- a/app/styles/play/level.sass +++ b/app/styles/play/level.sass @@ -56,6 +56,7 @@ $level-resize-transition-time: 0.5s .level-content position: relative + overflow: hidden #canvas-wrapper top: 50px diff --git a/app/styles/play/level/hud.sass b/app/styles/play/level/hud.sass index ffd07d75b..6e666f982 100644 --- a/app/styles/play/level/hud.sass +++ b/app/styles/play/level/hud.sass @@ -1,315 +1,199 @@ @import "app/styles/mixins" @import "app/styles/bootstrap/variables" -#thang-hud.no-selection - .center - > * - display: none - - .no-selection-message - //display: block // we fade this in - margin: auto - width: 100% - height: 100% - text-align: center - background: transparent url(/images/level/no_selection_pointer.png) no-repeat 50% 40% - background-size: 40px 37px - @include opacity(75) - - &:hover - @include opacity(100) - - div - padding-top: 70px - font-size: 14px - #thang-hud width: 55% - height: 120px + height: 80px position: relative + overflow: visible - .left-wing + .wood-background position: absolute - width: 50% - height: 100% left: 0 - top: 0 - z-index: 0 - background-image: url(/images/level/hud_left_wing.png) - background-position: right + top: -2px + background: transparent url(/images/level/hud_wood_background.png) + background-size: auto 100% + width: 100% + height: 100px + z-index: 2 - .right-wing + .hinge position: absolute - width: 50% - height: 100% - right: 0 + top: -16px + background: transparent url(/images/level/hud_hinge.png) + width: 27px + height: 44px + background-size: contain + z-index: 2 + pointer-events: none + + .hinge-0 + left: 3% + .hinge-1 + left: 12% + .hinge-2 + left: 86% + @include scaleX(-1) + .hinge-3 + left: 95% + @include scaleX(-1) + + .avatar-wrapper-container + position: absolute + width: 100px + height: 100px top: 0 - z-index: 0 - background-image: url(/images/level/hud_right_wing.png) - background-position: left + left: 18% + left: -webkit-calc(50% - (560px - 100px) / 2 - 10px) + left: calc(50% - (560px - 100px) / 2 - 10px) + z-index: 3 - &.hide-hud-properties .center - .thang-props, .thang-actions - visibility: hidden - position: absolute - - .center - width: 560px - height: 120px - padding: 4px 20px 0 20px - margin: auto - background-image: url(/images/level/hud_center.png) - color: #BEBEBE - font-size: 12px - overflow: hidden - z-index: 1 - position: relative - - .no-selection-message - display: none - - .thang-canvas-wrapper, .speaker-image-wrapper - width: 100px - height: 100px - margin: 7px 7px 7px 22px - float: left - overflow: hidden - border: 1px solid #888 + .thang-canvas-wrapper + width: 80px + height: 80px + position: relative border-radius: 4px @include gradient-radial-custom-stops(hsla(205,0%,74%,1), 20%, hsla(205,0%,31%,1), 70%) - + &.team-humans border-color: darkred @include gradient-radial-custom-stops(hsla(4,80%,74%,1), 20%, hsla(4,80%,51%,1), 70%) - + &.team-ogres border-color: darkblue @include gradient-radial-custom-stops(hsla(205,100%,74%,1), 20%, hsla(205,100%,31%,1), 70%) - + &.team-allies, &.team-minions border-color: darkgreen @include gradient-radial-custom-stops(hsla(116,80%,74%,1), 20%, hsla(116,80%,31%,1), 70%) + + .thang-canvas + width: 100% + + .avatar-frame + position: absolute + left: -18% + top: -19% + width: 145% + + &.hide-hud-properties .center:hover + // Don't allow them to hover over confusing HUD stuff until later levels + top: 24px + + .center + width: 560px + height: 166px + position: absolute + top: 24px + left: 13% + left: -webkit-calc(50% - 560px / 2) + left: calc(50% - 560px / 2) + padding: 10px 20px 0 145px + background-image: url(/images/level/hud_background.png) + color: white + text-transform: uppercase + font-family: Open Sans Condensed + font-weight: bold + font-size: 16px + z-index: 2 + @include transition(0.5s ease) + + &:hover + top: -36px + + .thang-name + font-size: 18px + margin: 10px 0 0 0 .thang-props - margin: 8px 8px 0 0 + margin: 24px 0 0 0 float: left + @include user-select(text) - .thang-props-column + .prop:not([name="health"]) + min-width: 120px + display: inline-block + line-height: 16px + + &.nonexistent + visibility: hidden + + .text-prop + width: 50% + + .prop-label-icon + $iconSize: 16px + display: inline-block + width: $iconSize + height: $iconSize + margin-right: 5px + background: transparent url(/images/level/hud_info_icons.png) no-repeat + background-size: auto $iconSize float: left - width: 144px - height: 100px - @include user-select(text) - - &.nonexistent - visibility: hidden - .text-prop - width: 50% + &.prop-label-icon-pos + background-position: (-1 * $iconSize) 0px + &.prop-label-icon-target + background-position: (-2 * $iconSize) 0px + &.prop-label-icon-collectedThangIDs + background-position: (-3 * $iconSize) 0px + &.prop-label-icon-visualRange + background-position: (-4 * $iconSize) 0px + &.prop-label-icon-attackDamage + background-position: (-5 * $iconSize) 0px + &.prop-label-icon-attackRange, &.prop-label-icon-attackNearbyEnemyRange + background-position: (-6 * $iconSize) 0px + &.prop-label-icon-maxSpeed + background-position: (-7 * $iconSize) 0px + &.prop-label-icon-gold, &.prop-label-icon-bountyGold + background-position: (-8 * $iconSize) 0px - .prop-label-icon - $iconSize: 16px - display: inline-block - width: $iconSize - height: $iconSize - margin-right: 5px - background: transparent url(/images/level/hud_info_icons.png) no-repeat - background-size: auto $iconSize - float: left - - &.prop-label-icon-pos - background-position: (-1 * $iconSize) 0px - &.prop-label-icon-target - background-position: (-2 * $iconSize) 0px - &.prop-label-icon-collectedThangIDs - background-position: (-3 * $iconSize) 0px - &.prop-label-icon-visualRange - background-position: (-4 * $iconSize) 0px - &.prop-label-icon-attackDamage - background-position: (-5 * $iconSize) 0px - &.prop-label-icon-attackRange, &.prop-label-icon-attackNearbyEnemyRange - background-position: (-6 * $iconSize) 0px - &.prop-label-icon-maxSpeed - background-position: (-7 * $iconSize) 0px - &.prop-label-icon-gold, &.prop-label-icon-bountyGold - background-position: (-8 * $iconSize) 0px - - .prop-value.bar-prop - width: 100px - display: inline-block - height: 6px - background: #ddd - border: 1px solid black - border-radius: 6px - overflow: hidden - - .bar - background: black - width: 100% - height: 100% - - .prop[name="health"] .bar - background: #C5362B - - .message - text-align: center - display: table - height: 100% - width: 100% - - p - display: table-cell - vertical-align: middle - font-size: 20px - - .thang-actions - width: 212px - height: 100px - margin: 8px 24px 8px 0 - float: left - overflow-y: auto - overflow-x: hidden - - .table-container - position: relative - - .progress-indicator - position: absolute - right: 45px - background-color: #fce - z-index: 1 - - .progress-arrow - width: 14px - height: 6px - top: -6px - // Could put top: 0 to make the arrow go inside, but it doesn't have enough contrast over the bar - right: 39px - background: transparent url(/images/level/action_timeline_indicator.png) no-repeat center - - .progress-line - width: 1px - height: 100% - top: 0 - background-color: #A4A198 - - table - border: 1px solid #5B5855 - border-radius: 2px - line-height: 17px - width: 100% - - tr - border: 1px solid #5b5855 - - .action-indicator - width: 10px - - .action-label - width: 75px - - .action-timeline - padding: 0 - - .timeline-wrapper - position: relative - width: 100% - height: 19px - - div - border-radius: 1px - background-color: #6BA1C8 - height: 100% - border-bottom: 2px groove darken(#6BA1C8, 30%) - border-right: 1px solid darken(#6BA1C8, 10%) - position: absolute - top: 0 - - .current-action - font-weight: bold - - .action-indicator - background: #4B4133 url(/images/level/current_action_indicator.png) no-repeat center - - td - background-color: #4B4133 - - .dialogue-area - opacity: 0.0 - position: relative - height: 100% - width: 100% - z-index: 1 - - .bubble + .prop[name="health"] position: absolute - left: 140px - right: 8px - top: 8px - bottom: 0px - padding: 10px - color: black - font-weight: bold - background: #FFFFFF - border: black solid 1px - border-radius: 10px - font-size: 14px + right: 35px + top: 23px + height: 18px line-height: 18px + font-size: 18px - strong - color: #09B057 + .prop-value.bar-prop + width: 150px + margin: 1px 10px 0 0 + height: 16px + background: rgb(32, 27, 21) + padding: 4px + border-radius: 8px + border: 0 - .hud-hint - font-weight: normal - color: #999 - - .enter - position: absolute - right: 7px - bottom: 7px - div.dot - background: #337 - width: 8px + .bar + background: rgb(234, 35, 45) height: 8px - position: absolute - right: 8px - top: 9px - border-radius: 5px + border-radius: 4px - button, .alert - padding: 2px 5px + .bar-prop-value + vertical-align: top - .enter button.with-dot - padding-right: 20px + .prop-value.bar-prop + width: 100px + display: inline-block + height: 6px + background: #ddd + border: 1px solid black + border-radius: 6px + overflow: hidden - h3 - margin: 0 - font-size: 16px - line-height: 16px - color: #338 + .bar + background: black + width: 100% + height: 100% - button - margin-left: 10px + .message + text-align: center + display: table + height: 100% + width: 100% - .bubble:after - content: "" - position: absolute - top: 55px - left: -27px - border-style: solid - border-width: 11px 27px 11px 0 - border-color: transparent #FFFFFF - display: block - width: 0 - z-index: 1 - - .bubble:before - content: "" - position: absolute - top: 55px - left: -28px - border-style: solid - border-width: 11px 27px 11px 0 - border-color: transparent black - display: block - width: 0 - z-index: 0 + p + display: table-cell + vertical-align: middle + font-size: 20px diff --git a/app/templates/play/level/hud.jade b/app/templates/play/level/hud.jade index 5e093bf04..be7fdc949 100644 --- a/app/templates/play/level/hud.jade +++ b/app/templates/play/level/hud.jade @@ -1,29 +1,14 @@ -.center +.wood-background +.hinge.hinge-0 +.hinge.hinge-1 +.hinge.hinge-2 +.hinge.hinge-3 + +.avatar-wrapper-container .thang-canvas-wrapper.thang-elem canvas.thang-canvas - + +.center + .thang-name .thang-props.thang-elem - .thang-name - - .thang-actions.thang-elem - .nano - .nano-content - .action-header(data-i18n="play_level.action_timeline") Action Timeline - .table-container - .progress-arrow.progress-indicator - .progress-line.progress-indicator - table - tbody - - .dialogue-area - p.bubble.dialogue-bubble - - .no-selection-message - div(data-i18n="play_level.click_to_select") Click on a unit to select it. - -.left-wing - .gradient#hud-left-gradient.gradient - -.right-wing - .gradient#hud-right-gradient.gradient \ No newline at end of file diff --git a/app/templates/play/level/hud_action.jade b/app/templates/play/level/hud_action.jade deleted file mode 100644 index c4b8cdaf4..000000000 --- a/app/templates/play/level/hud_action.jade +++ /dev/null @@ -1,5 +0,0 @@ -tr(name="#{action}") - td.action-indicator - td.action-label #{action} - td.action-timeline - .timeline-wrapper \ No newline at end of file diff --git a/app/views/play/level/LevelHUDView.coffee b/app/views/play/level/LevelHUDView.coffee index 7265ef1e0..7e9ce3511 100644 --- a/app/views/play/level/LevelHUDView.coffee +++ b/app/views/play/level/LevelHUDView.coffee @@ -1,25 +1,17 @@ CocoView = require 'views/kinds/CocoView' template = require 'templates/play/level/hud' prop_template = require 'templates/play/level/hud_prop' -action_template = require 'templates/play/level/hud_action' DialogueAnimator = require './DialogueAnimator' module.exports = class LevelHUDView extends CocoView id: 'thang-hud' template: template - dialogueMode: false - showingActions: false subscriptions: 'surface:frame-changed': 'onFrameChanged' 'level:disable-controls': 'onDisableControls' 'level:enable-controls': 'onEnableControls' 'surface:sprite-selected': 'onSpriteSelected' - 'sprite:speech-updated': 'onSpriteDialogue' - 'level:sprite-clear-dialogue': 'onSpriteClearDialogue' - 'level:shift-space-pressed': 'onShiftSpacePressed' - 'level:escape-pressed': 'onEscapePressed' - 'sprite:dialogue-sound-completed': 'onDialogueSoundCompleted' 'sprite:thang-began-talking': 'onThangBeganTalking' 'sprite:thang-finished-talking': 'onThangFinishedTalking' 'god:new-world-created': 'onNewWorld' @@ -50,69 +42,23 @@ module.exports = class LevelHUDView extends CocoView @disabled = false onSpriteSelected: (e) -> - # TODO: this allows the surface and HUD selection to get out of sync if we select another unit while in dialogue mode - return if @disabled or @dialogueMode - @switchToThangElements() + return if @disabled @setThang e.thang, e.sprite?.thangType - onSpriteDialogue: (e) -> - return unless e.message - spriteID = e.sprite.thang.id - @setSpeaker e.sprite - @stage?.startTalking() - @setMessage(e.message, e.mood, e.responses) - window.tracker?.trackEvent 'Heard Sprite', {speaker: spriteID, message: e.message, label: e.message}, ['Google Analytics'] - - onDialogueSoundCompleted: -> - @stage?.stopTalking() - - onSpriteClearDialogue: -> - @clearSpeaker() - onNewWorld: (e) -> hadThang = @thang @thang = e.world.thangMap[@thang.id] if @thang if hadThang and not @thang @setThang null, null - else if @thang - @createActions() # Make sure it updates its actions. setThang: (thang, thangType) -> - unless @speaker - if not thang? and not @thang? then return - if thang? and @thang? and thang.id is @thang.id then return - + if not thang? and not @thang? then return + if thang? and @thang? and thang.id is @thang.id then return @thang = thang @thangType = thangType - @$el.toggleClass 'no-selection', not @thang? - clearTimeout @hintNextSelectionTimeout - @$el.find('.no-selection-message').hide() - if not @thang - unless @options.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] - @hintNextSelectionTimeout = _.delay((=> @$el.find('.no-selection-message').slideDown('slow')), 10000) - return + return unless @thang @createAvatar thangType, @thang @createProperties() - @createActions() - @update() - @speaker = null - - setSpeaker: (speakerSprite) -> - return if speakerSprite is @speakerSprite - @speakerSprite = speakerSprite - @speaker = @speakerSprite.thang.id - @createAvatar @speakerSprite.thangType, @speakerSprite.thang, @speakerSprite.options.colorConfig - @$el.removeClass 'no-selection' - @switchToDialogueElements() - - clearSpeaker: -> - if not @thang - @$el.addClass 'no-selection' - @setThang @thang, @thangType - @switchToThangElements() - @speaker = null - @speakerSprite = null - @bubble = null @update() createAvatar: (thangType, thang, colorConfig) -> @@ -127,18 +73,19 @@ module.exports = class LevelHUDView extends CocoView options.async = false options.colorConfig = colorConfig if colorConfig wrapper = @$el.find '.thang-canvas-wrapper' - team = @thang?.team or @speakerSprite?.thang?.team + team = @thang?.team wrapper.removeClass (i, css) -> (css.match(/\bteam-\S+/g) or []).join ' ' wrapper.addClass "team-#{team}" if thangType.get('raster') - wrapper.empty().append($('').attr('src', '/file/'+thangType.get('raster'))) + wrapper.empty().append($('').addClass('avatar').attr('src', '/file/'+thangType.get('raster'))) else - return unless stage = thangType.getPortraitStage options - newCanvas = $(stage.canvas).addClass('thang-canvas') + return unless stage = thangType.getPortraitStage options, 100 + newCanvas = $(stage.canvas).addClass('thang-canvas avatar') wrapper.empty().append(newCanvas) stage.update() @stage?.stopTalking() @stage = stage + wrapper.append($('').addClass('avatar-frame').attr('src', '/images/level/thang_avatar_frame.png')) onThangBeganTalking: (e) -> return unless @stage and @thang is e.thang @@ -149,136 +96,29 @@ module.exports = class LevelHUDView extends CocoView @stage?.stopTalking() createProperties: -> - props = @$el.find('.thang-props') - props.find(':not(.thang-name)').remove() if @thang.id is 'Hero Placeholder' name = {knight: 'Tharin', captain: 'Anya'}[@thang.type] ? 'Hero' else name = if @thang.type then "#{@thang.id} - #{@thang.type}" else @thang.id - props.find('.thang-name').text name - propNames = _.without @thang.hudProperties ? [], 'action' - nColumns = Math.ceil propNames.length / 5 - columns = ($('
').appendTo(props) for i in [0 ... nColumns]) + @$el.find('.thang-name').text name + props = @$el.find('.thang-props') + props.find('.prop').remove() + #propNames = _.without @thang.hudProperties ? [], 'action' + propNames = @thang.hudProperties for prop, i in propNames - continue if prop is 'action' pel = @createPropElement prop continue unless pel? if pel.find('.bar').is('*') and props.find('.bar').is('*') props.find('.bar-prop').last().after pel # Keep bars together else - columns[i % nColumns].append pel + props.append pel null - createActions: -> - actions = @$el.find('.thang-actions tbody').empty() - showActions = @thang.world and not @thang.notOfThisWorld and not _.isEmpty(@thang.actions) and 'action' in (@thang.hudProperties ? []) - @$el.find('.thang-actions').toggleClass 'secret', not showActions - @showingActions = showActions - return unless showActions - @buildActionTimespans() - for actionName, action of @thang.actions - actions.append @createActionElement(actionName) - @lastActionTimespans[actionName] = {} - - setMessage: (message, mood, responses) -> - message = marked message - # Fix old HTML icons like in the Markdown - message = message.replace /<i class='(.+?)'><\/i>/, "" - clearInterval(@messageInterval) if @messageInterval - @bubble = $('.dialogue-bubble', @$el) - @bubble.removeClass(@lastMood) if @lastMood - @lastMood = mood - @bubble.text('') - group = $('
') - @bubble.append(group) - if responses - @lastResponses = responses - for response in responses - button = $('').text(response.text) - button.addClass response.buttonClass if response.buttonClass - group.append(button) - response.button = $('button:last', group) - else - if @options.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] - s = $.i18n.t('play_level.hud_continue_short', defaultValue: 'Continue') - else - s = $.i18n.t('play_level.hud_continue', defaultValue: 'Continue (shift+space)') # Get rid of eventually - sk = $.i18n.t('play_level.skip_tutorial', defaultValue: 'skip: esc') - if not @escapePressed - group.append('' + sk + '') - group.append($('')) - @lastResponses = null - if @speaker is 'Hero Placeholder' - # Doesn't work if it fires from a script; we don't really know who we are then. - name = {knight: 'Tharin', captain: 'Anya'}[@speakerSprite?.thang?.id] ? 'Hero' - else - name = @speaker - @bubble.append($("

#{name}

")) - @animator = new DialogueAnimator(message, @bubble) - @messageInterval = setInterval(@addMoreMessage, 1000 / 30) # 30 FPS - - addMoreMessage: => - if @animator.done() - clearInterval(@messageInterval) - @messageInterval = null - $('.enter', @bubble).removeClass('secret').css('opacity', 0.0).delay(500).animate({opacity: 1.0}, 500, @animateEnterButton) - if @lastResponses - buttons = $('.enter button') - for response, i in @lastResponses - channel = response.channel.replace 'level-set-playing', 'level:set-playing' # Easier than migrating all those victory buttons. - f = (r) => => setTimeout((-> Backbone.Mediator.publish(channel, r.event or {})), 10) - $(buttons[i]).click(f(response)) - else - $('.enter', @bubble).click(-> Backbone.Mediator.publish('script:end-current-script', {})) - return - @animator.tick() - - onShiftSpacePressed: (e) -> - @shiftSpacePressed = (@shiftSpacePressed || 0) + 1 - # We don't need to handle script:end-current-script--that's done--but if we do have - # custom buttons, then we need to trigger the one that should fire (the last one). - # If we decide that always having the last one fire is bad, we should make it smarter. - return unless @lastResponses?.length - r = @lastResponses[@lastResponses.length - 1] - channel = r.channel.replace 'level-set-playing', 'level:set-playing' - _.delay (-> Backbone.Mediator.publish(channel, r.event or {})), 10 - - onEscapePressed: (e) -> - @escapePressed = true - - animateEnterButton: => - return unless @bubble - button = $('.enter', @bubble) - dot = $('.dot', button) - dot.animate({opacity: 0.2}, 300).animate({opacity: 1.9}, 600, @animateEnterButton) - - switchToDialogueElements: -> - @dialogueMode = true - $('.thang-elem', @$el).addClass('secret') - @$el.find('.thang-canvas-wrapper').removeClass('secret') - $('.dialogue-area', @$el) - .removeClass('secret') - .animate({opacity: 1.0}, 200) - $('.dialogue-bubble', @$el) - .css('opacity', 0.0) - .delay(200) - .animate({opacity: 1.0}, 200) - clearTimeout @hintNextSelectionTimeout - - switchToThangElements: -> - @dialogueMode = false - $('.thang-elem', @$el).removeClass('secret') - $('.dialogue-area', @$el).addClass('secret') - $('.thang-actions', @$el).toggleClass 'secret', not @showingActions - @$el.find('.thang-canvas-wrapper').addClass('secret') if @hidesHUD - update: -> - return unless @thang and not @speaker + return unless @thang @$el.find('.thang-props-column').toggleClass 'nonexistent', not @thang.exists if @thang.exists @updatePropElement(prop, @thang[prop]) for prop in @thang.hudProperties ? [] - # Update action timeline - @updateActions() createPropElement: (prop) -> if prop in ['maxHealth'] @@ -336,60 +176,6 @@ module.exports = class LevelHUDView extends CocoView return 'No ' + prop return val - updateActions: -> - return unless @thang.world and @showingActions and not _.isEmpty @thang.actions - @buildActionTimespans() unless @timespans - for actionName, action of @thang.actions - @updateActionElement(actionName, @timespans[actionName], @thang.action is actionName) - tableContainer = @$el.find('.table-container') - arrow = tableContainer.find('.progress-arrow') - @timelineWidth ||= tableContainer.find('tr:not(.secret) .action-timeline').width() - @actionArrowWidth ||= arrow.width() - right = (1 - (@timeProgress ? 0)) * @timelineWidth - arrow.css 'right', right - @actionArrowWidth / 2 - tableContainer.find('.progress-line').css 'right', right - - buildActionTimespans: -> - @lastActionTimespans = {} - @timespans = {} - dt = @thang.world.dt - actionHistory = @thang.world.actionsForThang @thang.id, true - [lastFrame, lastAction] = [0, null] - for hist in actionHistory.concat {frame: @thang.world.totalFrames, name: 'END'} - [newFrame, newAction] = [hist.frame, hist.name] - continue if newAction is lastAction - if newFrame > lastFrame and lastAction - # TODO: don't push it if it didn't exist until then - (@timespans[lastAction] ?= []).push [lastFrame * dt, newFrame * dt] - [lastFrame, lastAction] = [newFrame, newAction] - - createActionElement: (action) -> - $(action_template(action: action)) - - updateActionElement: (action, timespans, current) -> - ael = @$el.find '.thang-actions *[name=' + action + ']' - ael.toggleClass 'current-action', current - - timespans ?= [] - lastTimespans = @lastActionTimespans[action] ? [] - if @lastActionTimespans and timespans.length is lastTimespans.length - changed = false - for timespan, i in timespans - if timespan[0] isnt lastTimespans[i][0] or timespan[1] isnt lastTimespans[i][1] - changed = true - break - return unless changed - ael.toggleClass 'secret', not timespans.length - @lastActionTimespans[action] = timespans - timeline = ael.find('.action-timeline .timeline-wrapper').empty() - lifespan = @thang.world.totalFrames / @thang.world.frameRate - scale = timeline.width() / lifespan - for [start, end] in timespans - bar = $('
').css left: start * scale, right: (lifespan - end) * scale - timeline.append bar - - ael - destroy: -> @stage?.stopTalking() clearInterval(@messageInterval) if @messageInterval diff --git a/app/views/play/level/LevelLoadingView.coffee b/app/views/play/level/LevelLoadingView.coffee index da5e40323..996de9f0e 100644 --- a/app/views/play/level/LevelLoadingView.coffee +++ b/app/views/play/level/LevelLoadingView.coffee @@ -31,7 +31,8 @@ module.exports = class LevelLoadingView extends CocoView eventualCanvasWidth = $('#canvas-wrapper').outerWidth() eventualCanvasHeight = Math.max(eventualCanvasWidth / canvasAspectRatio) currentCanvasHeight = 589 - @$el.addClass('manually-sized').css('height', @$el.outerHeight() + eventualCanvasHeight - currentCanvasHeight + 2) + extraHeight # From control bar (I think) + @$el.addClass('manually-sized').css('height', @$el.outerHeight() + eventualCanvasHeight - currentCanvasHeight + 2 + extraHeight) onLevelLoaded: (e) -> @level = e.level diff --git a/app/views/play/level/tome/SpellListTabEntryView.coffee b/app/views/play/level/tome/SpellListTabEntryView.coffee index 6db1ea9f8..27f0d2395 100644 --- a/app/views/play/level/tome/SpellListTabEntryView.coffee +++ b/app/views/play/level/tome/SpellListTabEntryView.coffee @@ -98,7 +98,9 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView onCodeReload: (e) -> return unless @controlsEnabled - Backbone.Mediator.publish 'tome:reload-code', spell: @spell + #Backbone.Mediator.publish 'tome:reload-code', spell: @spell # Old: just reload the current code + Backbone.Mediator.publish 'level:restart', {} # New: prompt them to restart the level + # TODO: actually prompt them to restart rather than just doing it onBeautifyClick: (e) -> return unless @controlsEnabled @@ -138,16 +140,6 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView return if enabled is @controlsEnabled @controlsEnabled = enabled @$el.toggleClass 'read-only', not enabled - @toggleBackground() - - toggleBackground: => - # TODO: make the palette background an actual background and do the CSS trick - # used in spell_list_entry.sass for disabling - background = @$el.find('img.spell-tab-image-hidden')[0] - if background.naturalWidth is 0 # not loaded yet - return _.delay @toggleBackground, 100 - filters.revertImage background, '.spell-list-entry-view.spell-tab' if @controlsEnabled - filters.darkenImage background, '.spell-list-entry-view.spell-tab', 0.8 unless @controlsEnabled attachTransitionEventListener: => transitionListener = '' From d43fd49d12d628776866eaed26632155c9e72b80 Mon Sep 17 00:00:00 2001 From: Matt Lott Date: Fri, 7 Nov 2014 21:56:49 -0800 Subject: [PATCH 04/75] Use testGroupNumber in cast button text A/B test --- app/models/User.coffee | 10 +++++ .../play/level/tome/CastButtonView.coffee | 42 +++++++++---------- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/app/models/User.coffee b/app/models/User.coffee index 9fa59cb0f..6af72c853 100644 --- a/app/models/User.coffee +++ b/app/models/User.coffee @@ -91,6 +91,16 @@ module.exports = class User extends CocoModel application.tracker.identify branchingGroup: @branchingGroup unless me.isAdmin() @branchingGroup + getCastButtonTextGroup: -> + # Group 0 is original behavior + unless @castButtonTextGroup? + if me.isAdmin() + @castButtonTextGroup = 0 + else + @castButtonTextGroup = me.get('testGroupNumber') % 7 + application.tracker.identify castButtonTextGroup: @castButtonTextGroup + @castButtonTextGroup + getHighlightArrowSoundGroup: -> return @highlightArrowGroup if @highlightArrowGroup group = me.get('testGroupNumber') % 8 diff --git a/app/views/play/level/tome/CastButtonView.coffee b/app/views/play/level/tome/CastButtonView.coffee index d11c9ff4f..2ab5976ec 100644 --- a/app/views/play/level/tome/CastButtonView.coffee +++ b/app/views/play/level/tome/CastButtonView.coffee @@ -36,7 +36,7 @@ module.exports = class CastButtonView extends CocoView context.castVerbose = castShortcutVerbose + ': ' + $.i18n.t('keyboard_shortcuts.run_code') context.castRealTimeVerbose = castRealTimeShortcutVerbose + ': ' + $.i18n.t('keyboard_shortcuts.run_real_time') # A/B test submit button text - context.testSubmitText = @testButtonsText.submit if @testGroup? and @testGroup isnt 0 + context.testSubmitText = @testButtonsText.submit if @testGroup? and @testGroup isnt 0 context afterRender: -> @@ -107,7 +107,7 @@ module.exports = class CastButtonView extends CocoView @castButton.toggleClass('castable', castable).toggleClass('casting', @casting) # A/B testing cast button text for en-US - if $.i18n.lng() isnt 'en-US' or not @testGroup? or @testGroup is 0 + unless @testGroup? and @testGroup isnt 0 if @casting castText = $.i18n.t('play_level.tome_cast_button_running') else if castable or true @@ -141,22 +141,22 @@ module.exports = class CastButtonView extends CocoView @multiplayerSession = null initButtonTextABTest: -> - if $.i18n.lng() is 'en-US' - # A/B test buttons text - # Only testing 'en-US' for simplicity and it accounts for a significant % of users - # Test group 0 is existing behavior - # Intentionally leaving out cast shortcut for test groups for simplicity - @testGroup = Math.floor(Math.random() * 7) - console.info 'Cast button text test group', @testGroup - @testButtonsText = switch @testGroup - when 0 then run: 'Run/Running', submit: 'Submit' - when 1 then run: 'Run', submit: 'Submit' - when 2 then run: 'Test', submit: 'Submit' - when 3 then run: 'Run', submit: 'Continue' - when 4 then run: 'Test', submit: 'Continue' - when 5 then run: 'Run', submit: 'Finish' - when 6 then run: 'Test', submit: 'Finish' - application.tracker?.trackEvent 'Spell View', - Action: 'Loaded' - levelID: @levelID - castButtonText: @testButtonsText.run + ' ' + @testButtonsText.submit + return if me.isAdmin() + return unless $.i18n.lng() is 'en-US' + # A/B test buttons text + # Only testing 'en-US' for simplicity and it accounts for a significant % of users + # Test group 0 is existing behavior + # Intentionally leaving out cast shortcut for test groups for simplicity + @testGroup = me.getCastButtonTextGroup() + @testButtonsText = switch @testGroup + when 0 then run: 'Run/Running', submit: 'Submit' + when 1 then run: 'Run', submit: 'Submit' + when 2 then run: 'Test', submit: 'Submit' + when 3 then run: 'Run', submit: 'Continue' + when 4 then run: 'Test', submit: 'Continue' + when 5 then run: 'Run', submit: 'Finish' + when 6 then run: 'Test', submit: 'Finish' + application.tracker?.trackEvent 'Spell View', + Action: 'Loaded' + levelID: @levelID + castButtonText: @testButtonsText.run + ' ' + @testButtonsText.submit From 588fa0620e71c869b2faad0faeaba0685648af93 Mon Sep 17 00:00:00 2001 From: Matt Lott Date: Fri, 7 Nov 2014 22:46:12 -0800 Subject: [PATCH 05/75] Jiggle user code problem alert --- app/schemas/subscriptions/tome.coffee | 2 + app/styles/play/level/tome/problem_alert.sass | 49 +++++++++++++++++++ .../play/level/tome/ProblemAlertView.coffee | 13 +++++ app/views/play/level/tome/SpellView.coffee | 8 +-- 4 files changed, 65 insertions(+), 7 deletions(-) diff --git a/app/schemas/subscriptions/tome.coffee b/app/schemas/subscriptions/tome.coffee index 74f77c66a..4d9f3e369 100644 --- a/app/schemas/subscriptions/tome.coffee +++ b/app/schemas/subscriptions/tome.coffee @@ -127,3 +127,5 @@ module.exports = 'tome:show-problem-alert': c.object {title: 'Show Problem Alert', description: 'A problem alert needs to be shown.', required: ['problem']}, problem: {type: 'object'} lineOffsetPx: {type: ['number', 'undefined']} + + 'tome:jiggle-problem-alert': c.object {title: 'Jiggle Problem Alert'} diff --git a/app/styles/play/level/tome/problem_alert.sass b/app/styles/play/level/tome/problem_alert.sass index 42c7be399..1926fecf3 100644 --- a/app/styles/play/level/tome/problem_alert.sass +++ b/app/styles/play/level/tome/problem_alert.sass @@ -18,6 +18,55 @@ border-image: url(/images/level/code_editor_error_background.png) 16 20 fill round border-width: 16px 20px + // Jiggle animation + // TODO: Cleanup browser compat nonsense with sass mixin + // TODO: http://joshbroton.com/quick-fix-sass-mixins-for-css-keyframe-animations/ + animation-duration: .4s + animation-name: jiggle + animation-play-state: running + animation-iteration-count: infinite + @keyframes jiggle + 0% + transform: rotate(0deg) + 25% + transform: rotate(1deg) + 50% + transform: rotate(0deg) + 75% + transform: rotate(-1deg) + 100% + transform: rotate(0deg) + -moz-animation-duration: .4s + -moz-animation-name: jiggle + -moz-animation-play-state: running + -moz-animation-iteration-count: infinite + @-moz-keyframes jiggle + 0% + -moz-transform: rotate(0deg) + 25% + -moz-transform: rotate(1deg) + 50% + -moz-transform: rotate(0deg) + 75% + -moz-transform: rotate(-1deg) + 100% + -moz-transform: rotate(0deg) + -webkit-animation-duration: .4s + -webkit-animation-name: jiggle + -webkit-animation-play-state: running + -webkit-animation-iteration-count: infinite + @-webkit-keyframes jiggle + 0% + -webkit-transform: rotate(0deg) + 25% + -webkit-transform: rotate(1deg) + 50% + -webkit-transform: rotate(0deg) + 75% + -webkit-transform: rotate(-1deg) + 100% + -webkit-transform: rotate(0deg) + &.no-hint // Since it's probably only one line, let's make it not look weird by being tiny. padding: 7px diff --git a/app/views/play/level/tome/ProblemAlertView.coffee b/app/views/play/level/tome/ProblemAlertView.coffee index e19163df9..c516bd40e 100644 --- a/app/views/play/level/tome/ProblemAlertView.coffee +++ b/app/views/play/level/tome/ProblemAlertView.coffee @@ -9,6 +9,7 @@ module.exports = class ProblemAlertView extends CocoView subscriptions: 'tome:show-problem-alert': 'onShowProblemAlert' + 'tome:jiggle-problem-alert': 'onJiggleProblemAlert' 'tome:manual-cast': 'onHideProblemAlert' 'real-time-multiplayer:manual-cast': 'onHideProblemAlert' @@ -51,6 +52,18 @@ module.exports = class ProblemAlertView extends CocoView @$el.show() @onWindowResize() @render() + @onJiggleProblemAlert() + + onJiggleProblemAlert: -> + if @$el.is(":visible") + @$el.css('animation-play-state', 'running') + @$el.css('-moz-animation-play-state', 'running') + @$el.css('-webkit-animation-play-state', 'running') + pauseJiggle = => + @$el.css('animation-play-state', 'paused') + @$el.css('-moz-animation-play-state', 'paused') + @$el.css('-webkit-animation-play-state', 'paused') + _.delay pauseJiggle, 2000 onHideProblemAlert: -> @onRemoveClicked() diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee index a246f2a0a..eafc1473e 100644 --- a/app/views/play/level/tome/SpellView.coffee +++ b/app/views/play/level/tome/SpellView.coffee @@ -773,13 +773,7 @@ module.exports = class SpellView extends CocoView onAnnotationClick: -> # @ is the gutter element - msg = "Edit line #{$(@).index() + 1} to fix it." - alertBox = $("
#{msg}
") - offset = $(@).offset() - offset.left -= 162 # default width of the Bootstrap alert here - alertBox.css(offset).css('z-index', 500).css('position', 'absolute') - $('body').append(alertBox.alert()) - _.delay (-> alertBox.alert('close')), 2500 + Backbone.Mediator.publish 'tome:jiggle-problem-alert', {} onDisableControls: (e) -> @toggleControls e, false onEnableControls: (e) -> @toggleControls e, @writable From 506109864b30200f6742ecdb4193fcff34bc67a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Caeiro=20Rodr=C3=ADguez?= Date: Sat, 8 Nov 2014 16:51:53 +0100 Subject: [PATCH 06/75] Update gl.coffee --- app/locale/gl.coffee | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/app/locale/gl.coffee b/app/locale/gl.coffee index 52fdb83f4..5cf613fd8 100644 --- a/app/locale/gl.coffee +++ b/app/locale/gl.coffee @@ -25,49 +25,49 @@ home: "Inicio" contribute: "Colaborar" legal: "Legalidade" - about: "Sobre nó" + about: "Sobre nós" contact: "Contacta" twitter_follow: "Síguenos en Twitter" teachers: "Profesores" modal: - close: "Cerrar" + close: "Pechar" okay: "Ok" not_found: - page_not_found: "Páxina no atopada" + page_not_found: "Páxina non atopada" diplomat_suggestion: title: "Axuda a traducir CodeCombat!" # This shows up when a player switches to a non-English language using the language selector. sub_heading: "Necesitamos das túas habilidades lingüisticas." pitch_body: "Nos desenvolvemos CodeCombat en inglés, pero xa temos xogadores de todo o mundo. Moitos deles queren xogar en galego porque non falan inglés, así que si falas ambos idiomas, inscríbete como Diplomático e axuda a traducir a web e todos os niveis de CodeCombat ao galego." - missing_translations: "Mientras terminamos la traducción al español, verás en inglés las partes que no estén todavía disponibles." - learn_more: "Aprende más sobre ser un Diplomático" + missing_translations: "Mentras terminamos a traducción ao galego, verás en castelán ou en inglés as partes que non estén ainda dispoñibles." + learn_more: "Aprende máis sobre o que é ser un Diplomático" subscribe_as_diplomat: "Suscríbete como Diplomático" play: - play_as: "Jugar como" # Ladder page - spectate: "Observar" # Ladder page - players: "jugadores" # Hover over a level on /play - hours_played: "horas jugadas" # Hover over a level on /play - items: "Objetos" # Tooltip on item shop button from /play + play_as: "Xogar como" # Ladder page + spectate: "Mirar" # Ladder page + players: "xogadores" # Hover over a level on /play + hours_played: "horas xogadas" # Hover over a level on /play + items: "Obxectos" # Tooltip on item shop button from /play heroes: "Heroes" # Tooltip on hero shop button from /play achievements: "Logros" # Tooltip on achievement list button from /play - account: "Cuenta" # Tooltip on account button from /play - settings: "Ajustes" # Tooltip on settings button from /play - next: "Siguiente Heroe" # Go from choose hero to choose inventory before playing a level + account: "Conta" # Tooltip on account button from /play + settings: "Axustes" # Tooltip on settings button from /play + next: "Seguente Heroe" # Go from choose hero to choose inventory before playing a level change_hero: "Seleccionar Heroe" # Go back from choose inventory to choose hero - choose_inventory: "Equipar Objetos" + choose_inventory: "Equipar Obxectos" older_campaigns: "Campañas Anteriores" - anonymous: "Jugador Anonimo" - level_difficulty: "Dificultad: " + anonymous: "Xogador Anónimo" + level_difficulty: "Dificultade: " campaign_beginner: "Campaña de Principiante" - choose_your_level: "Elige tu nivel" # The rest of this section is the old play view at /play-old and isn't very important. - adventurer_prefix: "Puedes elegir cualquier pantalla o charlar en " - adventurer_forum: "el foro del aventurero " - adventurer_suffix: "sobre ello." - campaign_old_beginner: "Antigua Campaña de Principiante" - campaign_old_beginner_description: "... en la que aprenderás la magia de la programación." + choose_your_level: "Elixe o teu nivel" # The rest of this section is the old play view at /play-old and isn't very important. + adventurer_prefix: "Podes elixir calqueira pantalla ou falar no " + adventurer_forum: " foro do aventureiro " + adventurer_suffix: "sobre elo." + campaign_old_beginner: "Antiga Campaña de Principiante" + campaign_old_beginner_description: "... na que aprenderás xa maxia da programación." campaign_dev: "Niveles aleatorios más dificiles" campaign_dev_description: "... en los que aprenderás sobre la interfaz mientras haces algo más difícil." campaign_multiplayer: "Arenas Multijugador" From a8700f51136365bf508bec1be4ac86b1608e2685 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sat, 8 Nov 2014 08:38:25 -0800 Subject: [PATCH 07/75] Reload now shows confirmation modal again. Added some stuff missing from the last commit. --- app/assets/images/level/hud_background.png | Bin 0 -> 9430 bytes app/assets/images/level/hud_wood_background.png | Bin 0 -> 25707 bytes .../play/level/tome/spell_list_entry.sass | 4 ++-- .../play/level/modal/reload-level-modal.jade | 11 +++++++++++ app/views/play/level/LevelLoadingView.coffee | 2 +- .../play/level/modal/ReloadLevelModal.coffee | 9 +++++++++ .../level/tome/SpellListTabEntryView.coffee | 8 ++++---- 7 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 app/assets/images/level/hud_background.png create mode 100644 app/assets/images/level/hud_wood_background.png create mode 100644 app/templates/play/level/modal/reload-level-modal.jade create mode 100644 app/views/play/level/modal/ReloadLevelModal.coffee diff --git a/app/assets/images/level/hud_background.png b/app/assets/images/level/hud_background.png new file mode 100644 index 0000000000000000000000000000000000000000..e76950a8c50e59cc1adbf110041e0e2681e316b4 GIT binary patch literal 9430 zcmai3bzD?kw}t_A5RvX08tIgf7^H=vyBkKD8A?JBrKK4{LP0vDl}4o-MnO`#6i`5E zxPvnKe!us-_s$=1&fa^iXRT+&-shYM4K+o)>r~ewMr<)L$~p zRxs)xCQM85E=Ktv%{m4KHaS$s0B!(L6}NVE=CQPKwX)^$adtzk!oZO55l3A*+rlkD zKF&@qFmWGA#$PMMQP&s4yo{hN*GnlJKyx6W5Yc zxD-d-NisUX;cnu*yx!j4Jl=vlt{(Qh{9u2h;{4SfpURe`i1h4*T>S0m!F4^*V&o( zze&R2TDE_U{I8NQ9bY$FUM*XgtEY#xEowQ_e^Z1a?*BI6zX`#icK-|b#mq0e|8RnG zSpo$Dfr!i5dO*EwZ4^9QoqrMIX6XU5y)aUe5pCr^r7i@2xhW2Hfx#_ZtZkL$q)?i8 zpimp}+x&t8eDb1V!t%0r`T6CALZBB`0k2{$_elbO7Q+m^gsB&)NJEw?dfdm z0>9L3^H;OX|EKvMqJK3@@czryUkUa*?r0wV4SH8VPE=M{R!&%6PX52UbE)^Q=s!Sz z&nf?#rAxK4|DW1_i2kQqaaj*rOSr3tj;pJal*~oZfixUk;jS{iCZf5o*E`2iX`ka`QR_m?*3b|QVASr0pX+e#(0`@Ub z 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/hud_wood_background.png b/app/assets/images/level/hud_wood_background.png new file mode 100644 index 0000000000000000000000000000000000000000..3745a4d6bae484469ae4c1ae13ea8a0f6358e131 GIT binary patch literal 25707 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