mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-26 14:03:28 -04:00
Merge branch 'master' of github.com:codecombat/codecombat
This commit is contained in:
commit
dff443bc07
7 changed files with 36 additions and 31 deletions
app
lib
styles/play/level
views
|
@ -91,7 +91,9 @@ module.exports = GPlusHandler = class GPlusHandler extends CocoClass
|
|||
@saveIfAllDone()
|
||||
|
||||
saveIfAllDone: =>
|
||||
console.debug 'Save if all done. Person loaded:', @personLoaded, 'and email loaded:', @emailLoaded
|
||||
return unless @personLoaded and @emailLoaded
|
||||
console.debug 'Email, gplusID:', me.get('email'), me.get('gplusID')
|
||||
return unless me.get('email') and me.get('gplusID')
|
||||
|
||||
Backbone.Mediator.publish 'auth:logging-in-with-gplus', {}
|
||||
|
@ -104,12 +106,16 @@ module.exports = GPlusHandler = class GPlusHandler extends CocoClass
|
|||
patch.email = me.get('email')
|
||||
wasAnonymous = me.get('anonymous')
|
||||
@trigger 'logging-into-codecombat'
|
||||
console.debug('Logging into GPlus.')
|
||||
me.save(patch, {
|
||||
patch: true
|
||||
type: 'PUT'
|
||||
error: backboneFailure,
|
||||
error: ->
|
||||
console.debug('Logging into GPlus fail.', arguments)
|
||||
backboneFailure(arguments...)
|
||||
url: "/db/user?gplusID=#{gplusID}&gplusAccessToken=#{@accessToken.access_token}"
|
||||
success: (model) ->
|
||||
console.debug('GPLus login success!')
|
||||
window.location.reload() if wasAnonymous and not model.get('anonymous')
|
||||
})
|
||||
|
||||
|
|
|
@ -491,6 +491,7 @@ module.exports = Lank = class Lank extends CocoClass
|
|||
bar = createProgressBar(healthColor)
|
||||
@options.floatingLayer.addCustomGraphic(key, bar, bar.bounds)
|
||||
|
||||
hadHealthBar = @healthBar
|
||||
@healthBar = new createjs.Sprite(@options.floatingLayer.spriteSheet)
|
||||
@healthBar.gotoAndStop(key)
|
||||
offset = @getOffset 'aboveHead'
|
||||
|
@ -499,6 +500,8 @@ module.exports = Lank = class Lank extends CocoClass
|
|||
@options.floatingLayer.addChild @healthBar
|
||||
@updateHealthBar()
|
||||
@lastHealth = null
|
||||
if not hadHealthBar
|
||||
@listenTo @options.floatingLayer, 'new-spritesheet', @addHealthBar
|
||||
|
||||
getActionProp: (prop, subProp, def=null) ->
|
||||
# Get a property or sub-property from an action, falling back to ThangType
|
||||
|
|
|
@ -258,7 +258,9 @@ module.exports = Surface = class Surface extends CocoClass
|
|||
createjs.Tween.removeTweens(@)
|
||||
@currentFrame = @scrubbingTo
|
||||
|
||||
@scrubbingTo = Math.min(Math.round(progress * (@world.frames.length - 1)), @world.frames.length - 1)
|
||||
@scrubbingTo = Math.round(progress * (@world.frames.length - 1))
|
||||
@scrubbingTo = Math.max @scrubbingTo, 1
|
||||
@scrubbingTo = Math.min @scrubbingTo, @world.frames.length - 1
|
||||
@scrubbingPlaybackSpeed = Math.sqrt(Math.abs(@scrubbingTo - @currentFrame) * @world.dt / (scrubDuration or 0.5))
|
||||
if scrubDuration
|
||||
t = createjs.Tween
|
||||
|
@ -402,7 +404,7 @@ module.exports = Surface = class Surface extends CocoClass
|
|||
@playing = (e ? {}).playing ? true
|
||||
@setPlayingCalled = true
|
||||
if @playing and @currentFrame >= (@world.totalFrames - 5)
|
||||
@currentFrame = 0
|
||||
@currentFrame = 1 # Go back to the beginning (but not frame 0, that frame is weird)
|
||||
if @fastForwardingToFrame and not @playing
|
||||
@fastForwardingToFrame = null
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
line-height: 20px
|
||||
|
||||
strong
|
||||
color: #09B057
|
||||
color: #FFCCAA
|
||||
|
||||
.hud-hint
|
||||
font-weight: normal
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
@include gradient-striped()
|
||||
outline: 2px outset #0099ff
|
||||
@include box-shadow(1px 1px 4px black)
|
||||
&.playback-ended .executing
|
||||
&.playback-ended .executing, &.user-code-problem .executing
|
||||
background-color: rgba(50, 255, 80, 0.65)
|
||||
outline: 0
|
||||
@include box-shadow(0 0 0px black)
|
||||
|
@ -125,34 +125,29 @@
|
|||
// TODO: Pulses too quickly during playback
|
||||
@include animation(pulseRedBackground 1s infinite)
|
||||
|
||||
&:not(.playback-ended)
|
||||
&:not(.playback-ended):not(.user-code-problem)
|
||||
.executing:not(.ace_gutter-cell)
|
||||
background-size: 40px 40px
|
||||
@include animation(progress-bar-stripes 0.5s linear infinite)
|
||||
|
||||
.ace_gutter-cell.executing:not(.ace_error):not(.ace_warning):not(.ace_info):after
|
||||
|
||||
// Experimenting with a larger executing-line-pointer
|
||||
content: "\e072"
|
||||
position: relative
|
||||
top: -31px
|
||||
left: -39px
|
||||
display: inline-block
|
||||
font-family: 'Glyphicons Halflings'
|
||||
font-style: normal
|
||||
font-weight: normal
|
||||
line-height: 1
|
||||
color: white
|
||||
text-shadow: 0 0 5px black, 0 0 5px black, 0 0 5px black
|
||||
font-size: 39px
|
||||
-webkit-font-smoothing: antialiased
|
||||
-moz-osx-font-smoothing: grayscale
|
||||
|
||||
|
||||
//display: block
|
||||
//margin-left: 1px
|
||||
//background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMjgwMTE3NDA3MjA2ODExOEE2REU4Q0M1MTM1MkIxRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBQjVEQUNDMzQ4RUIxMUUxOEVGRUUyNzFENDM3RDVFMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBQjVEQUNDMjQ4RUIxMUUxOEVGRUUyNzFENDM3RDVFMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU1MjE3RDIzMTIwNjgxMThEQkI4NTlBMjQ1QTEwOTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDI4MDExNzQwNzIwNjgxMThBNkRFOENDNTEzNTJCMUYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7SazaGAAAAiElEQVR42mL8//8/AzUBEwOVweA3kAWboI2jCyhgDwBx4ZH9ey5Qy4UOQHweaHg/EAtQ08sFUIMDqBmGCkC8HmgoCCtQM1ICoK5toGYsg8KzHmjo+UGbDj8AcSMwORkSnQ7xgA3QtPmApISNBTyAGrSBGl6eAMSGxBhGyIVkZT3G0fKQYgAQYACL+C2ZM6PC7AAAAABJRU5ErkJggg==)
|
||||
//background-position: 0px center
|
||||
&:not(.user-code-problem)
|
||||
.ace_gutter-cell.executing:not(.ace_error):not(.ace_warning):not(.ace_info):after
|
||||
|
||||
// Experimenting with a larger executing-line-pointer
|
||||
content: "\e072"
|
||||
position: relative
|
||||
top: -31px
|
||||
left: -39px
|
||||
display: inline-block
|
||||
font-family: 'Glyphicons Halflings'
|
||||
font-style: normal
|
||||
font-weight: normal
|
||||
line-height: 1
|
||||
color: white
|
||||
text-shadow: 0 0 5px black, 0 0 5px black, 0 0 5px black
|
||||
font-size: 39px
|
||||
-webkit-font-smoothing: antialiased
|
||||
-moz-osx-font-smoothing: grayscale
|
||||
|
||||
.ace_gutter-cell.executed:not(.ace_error):not(.ace_warning):not(.ace_info)
|
||||
margin-left: 1px
|
||||
|
|
|
@ -126,8 +126,6 @@ module.exports = class AuthModal extends ModalView
|
|||
step.done = false for step in @gplusAuthSteps
|
||||
handler = application.gplusHandler
|
||||
|
||||
@renderGPlusAuthChecklist()
|
||||
|
||||
@listenToOnce handler, 'logged-in', ->
|
||||
@gplusAuthSteps[0].done = true
|
||||
@renderGPlusAuthChecklist()
|
||||
|
|
|
@ -210,6 +210,7 @@ module.exports = class LevelPlaybackView extends CocoView
|
|||
onProgressHover: (e, offsetX) ->
|
||||
timeRatio = @$progressScrubber.width() / @totalTime
|
||||
offsetX ?= e.clientX - $(e.target).closest('#timeProgress').offset().left
|
||||
offsetX = Math.max 0, offsetX
|
||||
@newTime = offsetX / timeRatio
|
||||
@updatePopupContent()
|
||||
@timePopup?.onHover e
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue