diff --git a/app/styles/play/level/tome/spell.sass b/app/styles/play/level/tome/spell.sass index 8bb49e3d7..588a4d43b 100644 --- a/app/styles/play/level/tome/spell.sass +++ b/app/styles/play/level/tome/spell.sass @@ -28,6 +28,7 @@ width: 100% .save-status + display: none position: absolute top: 1% right: 4% diff --git a/app/views/play/level/tome/tome_view.coffee b/app/views/play/level/tome/tome_view.coffee index c7fc1f5f3..3e5b85d3d 100644 --- a/app/views/play/level/tome/tome_view.coffee +++ b/app/views/play/level/tome/tome_view.coffee @@ -122,6 +122,7 @@ module.exports = class TomeView extends View @spellTabView?.$el.after('<div id="' + @spellTabView.id + '"></div>').detach() @spellTabView = null @removeSubView @spellPaletteView if @spellPaletteView + @spellPaletteView = null @castButton?.$el.hide() @thangList?.$el.show() @@ -137,26 +138,21 @@ module.exports = class TomeView extends View spell = @thangList.topSpellForThang thang #spell = selectedThangSpells[0] # TODO: remember last selected spell for this thang return @clearSpellView() unless spell?.canRead() + unless spell.view is @spellView + @clearSpellView() + @spellView = spell.view + @spellTabView = spell.tabView + @$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 @spellList.setThangAndSpell thang, spell @spellView?.setThang thang @spellTabView?.setThang thang if @spellPaletteView?.thang isnt thang @spellPaletteView = @insertSubView new SpellPaletteView thang: thang @spellPaletteView.toggleControls {}, spell.view.controlsEnabled # TODO: know when palette should have been disabled but didn't exist - return if spell.view is @spellView - @clearSpellView() - @spellView = spell.view - @spellTabView = spell.tabView - @$el.find('#' + @spellView.id).after(@spellView.el).remove() - @$el.find('#' + @spellTabView.id).after(@spellTabView.el).remove() - @spellView.setThang thang - @spellTabView.setThang thang - @castButton.attachTo @spellView - @thangList.$el.hide() - # New, good event - Backbone.Mediator.publish 'tome:spell-shown', thang: thang, spell: spell - # Bad, old one for old scripts (TODO) - Backbone.Mediator.publish 'editor:tab-shown', thang: thang, methodName: spell.name reloadAllCode: -> spell.view.reloadCode false for spellKey, spell of @spells