mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-14 07:00:01 -04:00
Added detection of suspect code fragment deletion. Implemented Chloe's styling advice on restricted items. Fixed purchasing items clobbering inventory changes.
This commit is contained in:
parent
c7f8565ae7
commit
ffaa42cb9b
4 changed files with 21 additions and 7 deletions
|
@ -126,6 +126,10 @@ module.exports =
|
|||
codeFragment: {type: 'string'}
|
||||
codeLanguage: {type: 'string'}
|
||||
|
||||
'tome:suspect-code-fragment-deleted': c.object {title: 'Suspect Code Fragment Deleted', description: 'Published when a suspect code fragment is deleted from the sample code.', required: ['codeFragment']},
|
||||
codeFragment: {type: 'string'}
|
||||
codeLanguage: {type: 'string'}
|
||||
|
||||
'tome:winnability-updated': c.object {title: 'Winnability Updated', description: 'When we think we can now win (or can no longer win), we may want to emphasize the submit button versus the run button (or vice versa), so this fires when we get new goal states (even preloaded goal states) suggesting success or failure change.', required: ['winnable']},
|
||||
winnable: {type: 'boolean'}
|
||||
|
||||
|
|
|
@ -384,8 +384,9 @@ $itemSlotGridHeight: 70px
|
|||
// display: inline
|
||||
|
||||
&.restricted
|
||||
background-color: rgba(255, 80, 67, 0.25)
|
||||
background-color: rgba(190, 190, 190, 1)
|
||||
cursor: default
|
||||
@include filter(contrast(50%) brightness(100%))
|
||||
|
||||
//.item-view
|
||||
// cursor: default
|
||||
|
|
|
@ -240,10 +240,13 @@ module.exports = class InventoryModal extends ModalView
|
|||
me.set('spent', (me.get('spent') ? 0) + item.get('gems'))
|
||||
|
||||
#- ...then rerender key bits
|
||||
@requireLevelEquipment()
|
||||
@itemGroups.lockedItems.remove(item)
|
||||
@sortItem(item)
|
||||
@renderSelectors("#unequipped", "#gems-count")
|
||||
# Redo all item sorting to make sure that we don't clobber state changes since last render.
|
||||
equipped = _.values @getCurrentEquipmentConfig()
|
||||
@sortItem(item, equipped) for item in @items.models
|
||||
@renderSelectors('#unequipped', '#gems-count')
|
||||
|
||||
@requireLevelEquipment()
|
||||
@delegateEvents()
|
||||
@setUpDraggableEventsForAvailableEquipment()
|
||||
@itemDetailsView.setItem(item)
|
||||
|
|
|
@ -228,7 +228,7 @@ module.exports = class SpellView extends CocoView
|
|||
unless CampaignOptions?.getOption?(@options?.level?.get?('slug'), 'backspaceThrottle')
|
||||
@ace.remove "left"
|
||||
return
|
||||
|
||||
|
||||
nowDate = Date.now()
|
||||
if @aceSession.selection.isEmpty()
|
||||
cursor = @ace.getCursorPosition()
|
||||
|
@ -245,7 +245,7 @@ module.exports = class SpellView extends CocoView
|
|||
@backspaceThrottleMs = null
|
||||
@lastBackspace = nowDate
|
||||
@ace.remove "left"
|
||||
|
||||
|
||||
|
||||
|
||||
fillACE: ->
|
||||
|
@ -946,12 +946,18 @@ module.exports = class SpellView extends CocoView
|
|||
return if @destroyed
|
||||
source = @getSource().replace @singleLineCommentRegex(), ''
|
||||
suspectCodeFragments = LevelOptions[@options.level.get('slug')].suspectCode
|
||||
detectedSuspectCodeFragmentNames = []
|
||||
for suspectCodeFragment in suspectCodeFragments
|
||||
if suspectCodeFragment.pattern.test source
|
||||
@warnedCodeFragments ?= {}
|
||||
unless @warnedCodeFragments[suspectCodeFragment.name]
|
||||
Backbone.Mediator.publish 'tome:suspect-code-fragment-added', codeFragment: suspectCodeFragment.name, codeLanguage: @spell.language
|
||||
@warnedCodeFragments[suspectCodeFragment] = true
|
||||
@warnedCodeFragments[suspectCodeFragment.name] = true
|
||||
detectedSuspectCodeFragmentNames.push suspectCodeFragment.name
|
||||
for lastDetectedSuspectCodeFragmentName in @lastDetectedSuspectCodeFragmentNames ? []
|
||||
unless lastDetectedSuspectCodeFragmentName in detectedSuspectCodeFragmentNames
|
||||
Backbone.Mediator.publish 'tome:suspect-code-fragment-deleted', codeFragment: lastDetectedSuspectCodeFragmentName, codeLanguage: @spell.language
|
||||
@lastDetectedSuspectCodeFragmentNames = detectedSuspectCodeFragmentNames
|
||||
|
||||
destroy: ->
|
||||
$(@ace?.container).find('.ace_gutter').off 'click', '.ace_error, .ace_warning, .ace_info', @onAnnotationClick
|
||||
|
|
Loading…
Reference in a new issue