mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-02-17 08:50:58 -05:00
Updating everything to Aether 0.2.0.
This commit is contained in:
parent
775a2a87e2
commit
3819778bee
8 changed files with 26 additions and 16 deletions
|
@ -82,6 +82,10 @@ self.transferableSupported = function transferableSupported() {
|
|||
|
||||
var World = self.require('lib/world/world');
|
||||
var GoalManager = self.require('lib/world/GoalManager');
|
||||
|
||||
Aether.addGlobal('Vector', require('lib/world/vector'));
|
||||
Aether.addGlobal('_', _);
|
||||
|
||||
var serializedClasses = {
|
||||
"Thang": self.require('lib/world/thang'),
|
||||
"Vector": self.require('lib/world/vector'),
|
||||
|
@ -354,7 +358,6 @@ self.debugAbort = function () {
|
|||
self.postMessage({type: 'debugAbort'});
|
||||
};
|
||||
|
||||
|
||||
self.runWorld = function runWorld(args) {
|
||||
self.postedErrors = {};
|
||||
self.t0 = new Date();
|
||||
|
@ -408,11 +411,11 @@ self.onWorldLoaded = function onWorldLoaded() {
|
|||
};
|
||||
|
||||
self.onWorldError = function onWorldError(error) {
|
||||
if(error instanceof Aether.problems.UserCodeProblem) {
|
||||
if(!self.postedErrors[error.key]) {
|
||||
var problem = error.serialize();
|
||||
self.postMessage({type: 'user-code-problem', problem: problem});
|
||||
self.postedErrors[error.key] = problem;
|
||||
if(error.isUserCodeProblem) {
|
||||
var errorKey = error.userInfo.key;
|
||||
if(!errorKey || !self.postedErrors[errorKey]) {
|
||||
self.postMessage({type: 'user-code-problem', problem: error});
|
||||
self.postedErrors[errorKey] = error;
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -113,7 +113,7 @@ module.exports = class God
|
|||
|
||||
angelUserCodeProblem: (angel, problem) ->
|
||||
return if @dead
|
||||
#console.log "UserCodeProblem:", '"' + problem.message + '"', "for", problem.userInfo.thangID, "-", problem.userInfo.methodName, 'at line', problem.ranges?[0][0][0], 'column', problem.ranges?[0][0][1]
|
||||
#console.log "UserCodeProblem:", '"' + problem.message + '"', "for", problem.userInfo.thangID, "-", problem.userInfo.methodName, 'at', problem.range?[0]
|
||||
Backbone.Mediator.publish 'god:user-code-problem', problem: problem
|
||||
|
||||
createWorld: (@spells) ->
|
||||
|
|
|
@ -4,6 +4,9 @@ LevelLoader = require 'lib/LevelLoader'
|
|||
GoalManager = require 'lib/world/GoalManager'
|
||||
God = require 'lib/Buddha'
|
||||
|
||||
Aether.addGlobal 'Vector', require 'lib/world/vector'
|
||||
Aether.addGlobal '_', _
|
||||
|
||||
module.exports = class Simulator extends CocoClass
|
||||
|
||||
constructor: (@options) ->
|
||||
|
@ -292,8 +295,8 @@ module.exports = class Simulator extends CocoClass
|
|||
functionName: methodName
|
||||
protectAPI: useProtectAPI
|
||||
includeFlow: false
|
||||
requiresThis: true
|
||||
yieldConditionally: false
|
||||
globals: ['Vector', '_']
|
||||
problems:
|
||||
jshint_W040: {level: "ignore"}
|
||||
jshint_W030: {level: "ignore"} # aether_NoEffect instead
|
||||
|
|
|
@ -17,9 +17,9 @@ module.exports = class Problem
|
|||
@removeMarkerRange()
|
||||
|
||||
buildAnnotation: ->
|
||||
return unless @aetherProblem.ranges
|
||||
return unless @aetherProblem.range
|
||||
text = @aetherProblem.message.replace /^Line \d+: /, ''
|
||||
start = @aetherProblem.ranges[0][0]
|
||||
start = @aetherProblem.range[0]
|
||||
@annotation =
|
||||
row: start.row,
|
||||
column: start.col,
|
||||
|
@ -33,8 +33,8 @@ module.exports = class Problem
|
|||
$(@ace.container).append @alertView.el
|
||||
|
||||
buildMarkerRange: ->
|
||||
return unless @aetherProblem.ranges
|
||||
[start, end] = @aetherProblem.ranges[0]
|
||||
return unless @aetherProblem.range
|
||||
[start, end] = @aetherProblem.range
|
||||
clazz = "problem-marker-#{@aetherProblem.level}"
|
||||
@markerRange = new Range start.row, start.col, end.row, end.col
|
||||
@markerRange.start = @ace.getSession().getDocument().createAnchor @markerRange.start
|
||||
|
|
|
@ -2,6 +2,9 @@ SpellView = require './spell_view'
|
|||
SpellListTabEntryView = require './spell_list_tab_entry_view'
|
||||
{me} = require 'lib/auth'
|
||||
|
||||
Aether.addGlobal 'Vector', require 'lib/world/vector'
|
||||
Aether.addGlobal '_', _
|
||||
|
||||
module.exports = class Spell
|
||||
loaded: false
|
||||
view: null
|
||||
|
@ -106,12 +109,12 @@ module.exports = class Spell
|
|||
jshint_W091: {level: "ignore"} # eliminates more hoisting problems
|
||||
jshint_E043: {level: "ignore"} # https://github.com/codecombat/codecombat/issues/813 -- since we can't actually tell JSHint to really ignore things
|
||||
jshint_Unknown: {level: "ignore"} # E043 also triggers Unknown, so ignore that, too
|
||||
aether_MissingThis: {level: (if thang.requiresThis then 'error' else 'warning')}
|
||||
aether_MissingThis: {level: 'error'}
|
||||
language: aceConfig.language ? 'javascript'
|
||||
functionName: @name
|
||||
functionParameters: @parameters
|
||||
yieldConditionally: thang.plan?
|
||||
requiresThis: thang.requiresThis
|
||||
globals: ['Vector', '_']
|
||||
# TODO: Gridmancer doesn't currently work with protectAPI, so hack it off
|
||||
protectAPI: not (@skipProtectAPI or window.currentView?.level.get('name').match("Gridmancer")) and @permissions.readwrite.length > 0 # If anyone can write to this method, we must protect it.
|
||||
includeFlow: not @skipFlow and @canRead()
|
||||
|
|
|
@ -422,6 +422,7 @@ module.exports = class SpellView extends View
|
|||
@spellHasChanged = false
|
||||
|
||||
onUserCodeProblem: (e) ->
|
||||
console.log "onUserCodeProblem", e, e.problem.userInfo.methodName is @spell.name, spellThang = _.find @spell.thangs, (spellThang, thangID) -> thangID is e.problem.userInfo.thangID
|
||||
return @onInfiniteLoop e if e.problem.id is "runtime_InfiniteLoop"
|
||||
return unless e.problem.userInfo.methodName is @spell.name
|
||||
return unless spellThang = _.find @spell.thangs, (spellThang, thangID) -> thangID is e.problem.userInfo.thangID
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
"firepad": "~0.1.2",
|
||||
"marked": "~0.3.0",
|
||||
"moment": "~2.5.0",
|
||||
"aether": "~0.1.18",
|
||||
"aether": "~0.2.0",
|
||||
"underscore.string": "~2.3.3",
|
||||
"firebase": "~1.0.2",
|
||||
"catiline": "~2.9.3",
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
"redis": "",
|
||||
"webworker-threads": "~0.4.11",
|
||||
"node-gyp": "~0.13.0",
|
||||
"aether": "~0.1.18",
|
||||
"aether": "~0.2.0",
|
||||
"JASON": "~0.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
Loading…
Reference in a new issue