mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-14 07:00:01 -04:00
Wabam. Refactored a bunch of stuff into 'core' folders so that it's clearer which files are being loaded first thing, and which are not. Also reworked a bunch of the anymatch things in config.coffee, cause there were better ways.
This commit is contained in:
parent
b698745e05
commit
31214e854e
242 changed files with 419 additions and 549 deletions
|
@ -1,7 +1,7 @@
|
|||
// Helper for running tests through Karma.
|
||||
// Hooks into the test view logic for running tests.
|
||||
|
||||
require('initialize');
|
||||
require('core/initialize');
|
||||
console.debug = function() {}; // Karma conf doesn't seem to work? Debug messages are still emitted when they shouldn't be.
|
||||
TestView = require('views/TestView');
|
||||
TestView.runTests();
|
|
@ -37,7 +37,7 @@
|
|||
onLoad = function() {
|
||||
FastClick.attach(document.body);
|
||||
window.userObject = "userObjectTag";
|
||||
require('initialize');
|
||||
require('core/initialize');
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
CocoCollection = require 'collections/CocoCollection'
|
||||
Achievement = require 'models/Achievement'
|
||||
|
||||
class NewAchievementCollection extends CocoCollection
|
||||
model: Achievement
|
||||
|
||||
initialize: (me = require('lib/auth').me) ->
|
||||
@url = "/db/user/#{me.id}/achievements?notified=false"
|
||||
|
||||
module.exports = NewAchievementCollection
|
|
@ -1,5 +1,5 @@
|
|||
# Template for classes with common functions, like hooking into the Mediator.
|
||||
utils = require './utils'
|
||||
utils = require './../core/utils'
|
||||
classCount = 0
|
||||
makeScopeName = -> "class-scope-#{classCount++}"
|
||||
doNothing = ->
|
|
@ -1,7 +1,7 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
locale = require 'locale/locale'
|
||||
|
||||
LOG = true
|
||||
LOG = false
|
||||
|
||||
|
||||
module.exports = ModuleLoader = class ModuleLoader extends CocoClass
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
namesCache = {}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
gplusClientID = '800329290710-j9sivplv2gpcdgkrsis9rff3o417mlfa.apps.googleusercontent.com'
|
||||
# TODO: Move to GPlusHandler
|
||||
|
||||
NotFoundView = require('views/NotFoundView')
|
||||
NotFoundView = require('views/core/NotFoundView')
|
||||
|
||||
go = (path) -> -> @routeDirectly path, arguments
|
||||
|
||||
|
@ -152,13 +152,9 @@ module.exports = class CocoRouter extends Backbone.Router
|
|||
|
||||
initializeSocialMediaServices: ->
|
||||
return if application.testing or application.demoing
|
||||
require('./lib/services/facebook')()
|
||||
require('./lib/services/google')()
|
||||
require('./lib/services/twitter')()
|
||||
|
||||
for service in services
|
||||
service = require service
|
||||
service()
|
||||
require('core/services/facebook')()
|
||||
require('core/services/google')()
|
||||
require('core/services/twitter')()
|
||||
|
||||
renderLoginButtons: =>
|
||||
@initializeSocialMediaServices()
|
|
@ -1,4 +1,4 @@
|
|||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
debugAnalytics = false
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
FacebookHandler = require 'lib/FacebookHandler'
|
||||
GPlusHandler = require 'lib/GPlusHandler'
|
||||
GitHubHandler = require 'lib/GitHubHandler'
|
||||
ModuleLoader = require 'ModuleLoader'
|
||||
FacebookHandler = require 'core/social-handlers/FacebookHandler'
|
||||
GPlusHandler = require 'core/social-handlers/GPlusHandler'
|
||||
GitHubHandler = require 'core/social-handlers/GitHubHandler'
|
||||
ModuleLoader = require 'core/ModuleLoader'
|
||||
locale = require 'locale/locale'
|
||||
{me} = require 'lib/auth'
|
||||
Tracker = require 'lib/Tracker'
|
||||
{me} = require 'core/auth'
|
||||
Tracker = require 'core/Tracker'
|
||||
|
||||
marked.setOptions {gfm: true, sanitize: true, smartLists: true, breaks: false}
|
||||
|
||||
|
@ -35,7 +35,7 @@ preload = (arrayOfImages) ->
|
|||
$('<img/>')[0].src = @
|
||||
|
||||
Application = initialize: ->
|
||||
Router = require('Router')
|
||||
Router = require('core/Router')
|
||||
@isProduction = -> document.location.href.search('codecombat.com') isnt -1
|
||||
@isIPadApp = webkit?.messageHandlers? and navigator.userAgent?.indexOf('iPad') isnt -1
|
||||
$('body').addClass 'ipad' if @isIPadApp
|
|
@ -1,6 +1,6 @@
|
|||
{backboneFailure, genericFailure, parseServerError} = require 'lib/errors'
|
||||
{backboneFailure, genericFailure, parseServerError} = require 'core/errors'
|
||||
User = require 'models/User'
|
||||
storage = require 'lib/storage'
|
||||
storage = require 'core/storage'
|
||||
BEEN_HERE_BEFORE_KEY = 'beenHereBefore'
|
||||
|
||||
init = ->
|
|
@ -1,4 +1,4 @@
|
|||
SystemNameLoader = require './SystemNameLoader'
|
||||
SystemNameLoader = require './../core/SystemNameLoader'
|
||||
###
|
||||
Good-to-knows:
|
||||
dataPath: an array of keys that walks you up a JSON object that's being patched
|
|
@ -1,5 +1,5 @@
|
|||
errorModalTemplate = require 'templates/modal/error'
|
||||
{applyErrorsToForm} = require 'lib/forms'
|
||||
{applyErrorsToForm} = require 'core/forms'
|
||||
|
||||
module.exports.parseServerError = (text) ->
|
||||
try
|
|
@ -1,24 +1,24 @@
|
|||
Backbone.Mediator.setValidationEnabled false
|
||||
app = require 'application'
|
||||
app = require 'core/application'
|
||||
|
||||
channelSchemas =
|
||||
'auth': require './schemas/subscriptions/auth'
|
||||
'bus': require './schemas/subscriptions/bus'
|
||||
'editor': require './schemas/subscriptions/editor'
|
||||
'errors': require './schemas/subscriptions/errors'
|
||||
'ipad': require './schemas/subscriptions/ipad'
|
||||
'misc': require './schemas/subscriptions/misc'
|
||||
'multiplayer': require './schemas/subscriptions/multiplayer'
|
||||
'play': require './schemas/subscriptions/play'
|
||||
'surface': require './schemas/subscriptions/surface'
|
||||
'tome': require './schemas/subscriptions/tome'
|
||||
'god': require './schemas/subscriptions/god'
|
||||
'scripts': require './schemas/subscriptions/scripts'
|
||||
'world': require './schemas/subscriptions/world'
|
||||
'auth': require 'schemas/subscriptions/auth'
|
||||
'bus': require 'schemas/subscriptions/bus'
|
||||
'editor': require 'schemas/subscriptions/editor'
|
||||
'errors': require 'schemas/subscriptions/errors'
|
||||
'ipad': require 'schemas/subscriptions/ipad'
|
||||
'misc': require 'schemas/subscriptions/misc'
|
||||
'multiplayer': require 'schemas/subscriptions/multiplayer'
|
||||
'play': require 'schemas/subscriptions/play'
|
||||
'surface': require 'schemas/subscriptions/surface'
|
||||
'tome': require 'schemas/subscriptions/tome'
|
||||
'god': require 'schemas/subscriptions/god'
|
||||
'scripts': require 'schemas/subscriptions/scripts'
|
||||
'world': require 'schemas/subscriptions/world'
|
||||
|
||||
definitionSchemas =
|
||||
'bus': require './schemas/definitions/bus'
|
||||
'misc': require './schemas/definitions/misc'
|
||||
'bus': require 'schemas/definitions/bus'
|
||||
'misc': require 'schemas/definitions/misc'
|
||||
|
||||
init = ->
|
||||
setupConsoleLogging()
|
||||
|
@ -33,7 +33,7 @@ init = ->
|
|||
Backbone.history.start({ pushState: true })
|
||||
handleNormalUrls()
|
||||
setUpMoment() # Set up i18n for moment
|
||||
treemaExt = require 'treema-ext'
|
||||
treemaExt = require 'core/treema-ext'
|
||||
treemaExt.setup()
|
||||
|
||||
handleNormalUrls = ->
|
||||
|
@ -70,20 +70,13 @@ setUpBackboneMediator = ->
|
|||
webkit.messageHandlers.backboneEventHandler?.postMessage channel: arguments[0], event: serializeForIOS(arguments[1] ? {})
|
||||
|
||||
setUpMoment = ->
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
moment.lang me.get('preferredLanguage', true), {}
|
||||
me.on 'change:preferredLanguage', (me) ->
|
||||
moment.lang me.get('preferredLanguage', true), {}
|
||||
|
||||
initializeUtilityServices = ->
|
||||
services = [
|
||||
#'./lib/services/filepicker' # Not until needed
|
||||
'./lib/services/segmentio'
|
||||
]
|
||||
|
||||
for service in services
|
||||
service = require service
|
||||
service()
|
||||
require('core/services/segmentio')()
|
||||
|
||||
setupConsoleLogging = ->
|
||||
unless console.debug
|
|
@ -1,7 +1,7 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
{me} = require 'lib/auth'
|
||||
{backboneFailure} = require 'lib/errors'
|
||||
storage = require 'lib/storage'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
{me} = require 'core/auth'
|
||||
{backboneFailure} = require 'core/errors'
|
||||
storage = require 'core/storage'
|
||||
|
||||
# facebook user object props to
|
||||
userPropsToSave =
|
|
@ -1,7 +1,7 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
{me} = require 'lib/auth'
|
||||
{backboneFailure} = require 'lib/errors'
|
||||
storage = require 'lib/storage'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
{me} = require 'core/auth'
|
||||
{backboneFailure} = require 'core/errors'
|
||||
storage = require 'core/storage'
|
||||
GPLUS_TOKEN_KEY = 'gplusToken'
|
||||
|
||||
# gplus user object props to
|
|
@ -1,6 +1,6 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
{me} = require 'lib/auth'
|
||||
storage = require 'lib/storage'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
{me} = require 'core/auth'
|
||||
storage = require 'core/storage'
|
||||
|
||||
module.exports = class GitHubHandler extends CocoClass
|
||||
scopes: 'user:email'
|
|
@ -1,10 +1,10 @@
|
|||
CocoModel = require 'models/CocoModel'
|
||||
CocoCollection = require 'collections/CocoCollection'
|
||||
{me} = require('lib/auth')
|
||||
{me} = require('core/auth')
|
||||
locale = require 'locale/locale'
|
||||
|
||||
initializeFilePicker = ->
|
||||
require('lib/services/filepicker')() unless window.application.isIPadApp
|
||||
require('core/services/filepicker')() unless window.application.isIPadApp
|
||||
|
||||
class DateTimeTreema extends TreemaNode.nodeMap.string
|
||||
valueClass: 'treema-date-time'
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
{now} = require 'lib/world/world_utils'
|
||||
World = require 'lib/world/world'
|
||||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
GoalManager = require 'lib/world/GoalManager'
|
||||
|
||||
module.exports = class Angel extends CocoClass
|
||||
|
|
|
@ -1,82 +0,0 @@
|
|||
#CocoClass = require 'lib/CocoClass'
|
||||
#
|
||||
#module.exports = class AsyncCloner extends CocoClass
|
||||
# constructor: (@source, @depth=2) ->
|
||||
# # passing in a depth of 0 will just _.clone the first layer, and will result in 1 indexList
|
||||
# super()
|
||||
# @indexLists = []
|
||||
# @initClone()
|
||||
#
|
||||
# initClone: () ->
|
||||
# @target = AsyncCloner.cloneToDepth(@source, @depth)
|
||||
# @indexLists = [_.keys(@target)] if _.isObject @target
|
||||
#
|
||||
# @cloneToDepth: (value, depth) ->
|
||||
# value = _.clone(value)
|
||||
# return value unless depth and _.isObject value
|
||||
# value[key] = @cloneToDepth(value[key], depth-1) for key in _.keys value
|
||||
# value
|
||||
#
|
||||
# clone: ->
|
||||
# while @indexLists.length
|
||||
# #console.log 'Clone loop:', JSON.stringify @indexLists
|
||||
# @moveIndexForward() # fills or empties the index so @indexLists.length === @depth + 1
|
||||
# break if @done()
|
||||
# @cloneOne()
|
||||
# @moveIndexForwardOne()
|
||||
# break if @done() or @timeToSleep()
|
||||
#
|
||||
# moveIndexForward: ->
|
||||
# while @indexLists.length
|
||||
# nextValue = @getNextValue()
|
||||
# if _.isObject(nextValue)
|
||||
# if @indexLists.length <= @depth
|
||||
# # push a new list if it's a collection
|
||||
# @indexLists.push _.keys(nextValue)
|
||||
# continue
|
||||
# else
|
||||
# break # we done, the next value needs to be deep cloned
|
||||
# #console.log 'Skipping:', @getNextPath()
|
||||
# @moveIndexForwardOne() # move past this value otherwise
|
||||
# #console.log '\tMoved index forward', JSON.stringify @indexLists
|
||||
#
|
||||
# getNextValue: ->
|
||||
# value = @target
|
||||
# value = value[indexList[0]] for indexList in @indexLists
|
||||
# value
|
||||
#
|
||||
# getNextParent: ->
|
||||
# parent = @target
|
||||
# parent = parent[indexList[0]] for indexList in @indexLists[...-1]
|
||||
# parent
|
||||
#
|
||||
# getNextPath: ->
|
||||
# (indexList[0] for indexList in @indexLists when indexList.length).join '.'
|
||||
#
|
||||
# moveIndexForwardOne: ->
|
||||
# @indexLists[@indexLists.length-1].shift() # move the index forward one
|
||||
# # if we reached the end of an index list, trim down through all finished lists
|
||||
# while @indexLists.length and not @indexLists[@indexLists.length-1].length
|
||||
# @indexLists.pop()
|
||||
# @indexLists[@indexLists.length-1].shift() if @indexLists.length
|
||||
#
|
||||
# cloneOne: ->
|
||||
# if @indexLists.length isnt @depth + 1
|
||||
# throw new Error('Cloner is in an invalid state!')
|
||||
# parent = @getNextParent()
|
||||
# key = @indexLists[@indexLists.length-1][0]
|
||||
# parent[key] = _.cloneDeep parent[key]
|
||||
# #console.log 'Deep Cloned:', @getNextPath()
|
||||
#
|
||||
# done: -> not @indexLists.length
|
||||
#
|
||||
# timeToSleep: -> false
|
||||
|
||||
|
||||
###
|
||||
Overall, the loop is:
|
||||
Fill indexes if we need to to the depth we've cloned
|
||||
Clone that one, popping it off the list.
|
||||
If the last list is now empty, pop that list and every subsequent list if needed.
|
||||
Check for doneness, or timeout.
|
||||
###
|
|
@ -1,6 +1,6 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
cache = {}
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
# Top 20 obscene words (plus 'fiddlesticks') will trigger swearing Simlish with *beeps*.
|
||||
# Didn't like leaving so much profanity lying around in the source, so rot13'd.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
CHAT_SIZE_LIMIT = 500 # no more than 500 messages
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
{now} = require 'lib/world/world_utils'
|
||||
World = require 'lib/world/world'
|
||||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
Angel = require 'lib/Angel'
|
||||
|
||||
module.exports = class God extends CocoClass
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Bus = require './Bus'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
LevelSession = require 'models/LevelSession'
|
||||
utils = require 'lib/utils'
|
||||
utils = require 'core/utils'
|
||||
|
||||
module.exports = class LevelBus extends Bus
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@ LevelSession = require 'models/LevelSession'
|
|||
ThangType = require 'models/ThangType'
|
||||
ThangNamesCollection = require 'collections/ThangNamesCollection'
|
||||
|
||||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
AudioPlayer = require 'lib/AudioPlayer'
|
||||
app = require 'application'
|
||||
app = require 'core/application'
|
||||
World = require 'lib/world/world'
|
||||
|
||||
# This is an initial stab at unifying loading and setup into a single place which can
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
PlayHeroesModal = require 'views/play/modal/PlayHeroesModal'
|
||||
InventoryModal = require 'views/game-menu/InventoryModal'
|
||||
LevelSession = require 'models/LevelSession'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoView = require 'views/kinds/CocoView'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
CocoView = require 'views/core/CocoView'
|
||||
{scriptMatchesEventPrereqs} = require './../world/script_event_prereqs'
|
||||
|
||||
allScriptModules = []
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
module.exports = class ScriptModule extends CocoClass
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ ScriptModule = require './ScriptModule'
|
|||
currentMusic = null
|
||||
standingBy = null
|
||||
|
||||
{me} = require('lib/auth')
|
||||
{me} = require('core/auth')
|
||||
|
||||
module.exports = class SoundScriptModule extends ScriptModule
|
||||
@neededFor: (noteGroup) ->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
ScriptModule = require './ScriptModule'
|
||||
{me} = require 'lib/auth'
|
||||
utils = require 'lib/utils'
|
||||
{me} = require 'core/auth'
|
||||
utils = require 'core/utils'
|
||||
|
||||
module.exports = class SpritesScriptModule extends ScriptModule
|
||||
@neededFor: (noteGroup) ->
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
SuperModel = require 'models/SuperModel'
|
||||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
LevelLoader = require 'lib/LevelLoader'
|
||||
GoalManager = require 'lib/world/GoalManager'
|
||||
God = require 'lib/God'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{hexToHSL, hslToHex} = require 'lib/utils'
|
||||
{hexToHSL, hslToHex} = require 'core/utils'
|
||||
|
||||
module.exports = class SpriteBuilder
|
||||
constructor: (@thangType, @options) ->
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
# If I were the kind of math major who remembered his math, this would all be done with matrix transforms.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
module.exports = class CoordinateGrid extends CocoClass
|
||||
subscriptions:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
module.exports = class CountdownScreen extends CocoClass
|
||||
subscriptions:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
module.exports = class Dimmer extends CocoClass
|
||||
subscriptions:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
IndieLank = require 'lib/surface/IndieLank'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
module.exports = class FlagLank extends IndieLank
|
||||
subscriptions:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
module.exports = class Label extends CocoClass
|
||||
@STYLE_DIALOGUE = 'dialogue' # A speech bubble from a script
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
{createProgressBar} = require './sprite_utils'
|
||||
Camera = require './Camera'
|
||||
Mark = require './Mark'
|
||||
Label = require './Label'
|
||||
AudioPlayer = require 'lib/AudioPlayer'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
# We'll get rid of this once level's teams actually have colors
|
||||
healthColors =
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
{me} = require 'lib/auth'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
{me} = require 'core/auth'
|
||||
LayerAdapter = require './LayerAdapter'
|
||||
IndieLank = require 'lib/surface/IndieLank'
|
||||
WizardLank = require 'lib/surface/WizardLank'
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
###
|
||||
|
||||
SpriteBuilder = require 'lib/sprites/SpriteBuilder'
|
||||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
SegmentedSprite = require './SegmentedSprite'
|
||||
SingularSprite = require './SingularSprite'
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
Camera = require './Camera'
|
||||
ThangType = require 'models/ThangType'
|
||||
markThangTypes = {}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
AudioPlayer = require 'lib/AudioPlayer'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
CROSSFADE_LENGTH = 1500
|
||||
MUSIC_VOLUME = 0.6
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
module.exports = class PlaybackOverScreen extends CocoClass
|
||||
subscriptions:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
module.exports = class PointChooser extends CocoClass
|
||||
constructor: (@options) ->
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
Camera = require './Camera'
|
||||
|
||||
module.exports = class RegionChooser extends CocoClass
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
TrailMaster = require './TrailMaster'
|
||||
Dropper = require './Dropper'
|
||||
AudioPlayer = require 'lib/AudioPlayer'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
Camera = require './Camera'
|
||||
CameraBorder = require './CameraBorder'
|
||||
Layer = require('./LayerAdapter')
|
||||
|
|
|
@ -8,7 +8,7 @@ FUTURE_PATH_INTERVAL_DIVISOR = 4
|
|||
PAST_PATH_INTERVAL_DIVISOR = 2
|
||||
|
||||
Camera = require './Camera'
|
||||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
|
||||
module.exports = class TrailMaster extends CocoClass
|
||||
world: null
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
RealTimeCollection = require 'collections/RealTimeCollection'
|
||||
|
||||
module.exports = class WaitingScreen extends CocoClass
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
IndieLank = require 'lib/surface/IndieLank'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
module.exports = class WizardLank extends IndieLank
|
||||
# Wizard targets are constantly changing, so a simple tween doesn't work.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CocoClass = require 'lib/CocoClass'
|
||||
utils = require 'lib/utils'
|
||||
CocoClass = require 'core/CocoClass'
|
||||
utils = require 'core/utils'
|
||||
|
||||
module.exports = class GoalManager extends CocoClass
|
||||
# The Goal Manager is created both on the main thread and
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CocoModel = require './CocoModel'
|
||||
utils = require '../lib/utils'
|
||||
utils = require '../core/utils'
|
||||
|
||||
module.exports = class Achievement extends CocoModel
|
||||
@className: 'Achievement'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
storage = require 'lib/storage'
|
||||
deltasLib = require 'lib/deltas'
|
||||
storage = require 'core/storage'
|
||||
deltasLib = require 'core/deltas'
|
||||
|
||||
class CocoModel extends Backbone.Model
|
||||
idAttribute: '_id'
|
||||
|
@ -333,7 +333,15 @@ class CocoModel extends Backbone.Model
|
|||
return if _.isString @url then @url else @url()
|
||||
|
||||
@pollAchievements: ->
|
||||
NewAchievementCollection = require '../collections/NewAchievementCollection' # Nasty mutual inclusion if put on top
|
||||
|
||||
CocoCollection = require 'collections/CocoCollection'
|
||||
Achievement = require 'models/Achievement'
|
||||
|
||||
class NewAchievementCollection extends CocoCollection
|
||||
model: Achievement
|
||||
initialize: (me = require('core/auth').me) ->
|
||||
@url = "/db/user/#{me.id}/achievements?notified=false"
|
||||
|
||||
achievements = new NewAchievementCollection
|
||||
achievements.fetch
|
||||
success: (collection) ->
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CocoModel = require './CocoModel'
|
||||
utils = require '../lib/utils'
|
||||
utils = require '../core/utils'
|
||||
|
||||
module.exports = class EarnedAchievement extends CocoModel
|
||||
@className: 'EarnedAchievement'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CocoModel = require './CocoModel'
|
||||
SystemNameLoader = require 'lib/SystemNameLoader'
|
||||
SystemNameLoader = require 'core/SystemNameLoader'
|
||||
|
||||
module.exports = class LevelSystem extends CocoModel
|
||||
@className: 'LevelSystem'
|
||||
|
|
|
@ -2,7 +2,7 @@ CocoModel = require './CocoModel'
|
|||
SpriteBuilder = require 'lib/sprites/SpriteBuilder'
|
||||
LevelComponent = require './LevelComponent'
|
||||
|
||||
utils = require 'lib/utils'
|
||||
utils = require 'core/utils'
|
||||
|
||||
buildQueue = []
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
GRAVATAR_URL = 'https://www.gravatar.com/'
|
||||
cache = {}
|
||||
CocoModel = require './CocoModel'
|
||||
util = require 'lib/utils'
|
||||
util = require 'core/utils'
|
||||
ThangType = require './ThangType'
|
||||
|
||||
module.exports = class User extends CocoModel
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
c = require 'schemas/schemas'
|
||||
|
||||
module.exports =
|
||||
# app/lib/errors
|
||||
# app/core/errors
|
||||
'errors:server-error': c.object {required: ['response']},
|
||||
response: {type: 'object'}
|
||||
|
|
|
@ -57,7 +57,7 @@ block footer
|
|||
#footer-links
|
||||
a(href='/contribute', tabindex=-1, data-i18n="nav.contribute") Contribute
|
||||
a(href='/legal', tabindex=-1, data-i18n="nav.legal") Legal
|
||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
|
||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Contact
|
||||
a(href='/teachers', data-i18n="nav.teachers") Teachers
|
||||
a(href="/play-old", data-i18n="play.older_campaigns") Older Campaigns
|
||||
if me.isAdmin()
|
||||
|
|
|
@ -6,7 +6,7 @@ block content
|
|||
if user && viewName
|
||||
ol.breadcrumb
|
||||
li
|
||||
a(href="/user/#{user.getSlugOrID()}") #{user.displayName()}
|
||||
a(href="/user#{user.getSlugOrID()}") #{user.displayName()}
|
||||
li.active
|
||||
| #{viewName}
|
||||
if !user || user.loading
|
|
@ -31,7 +31,7 @@ block content
|
|||
|
||||
h4(data-i18n="contribute.how_to_join") How to Join
|
||||
p
|
||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="contribute.contact_us_url")
|
||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="contribute.contact_us_url")
|
||||
| Contact us
|
||||
span ,
|
||||
span(data-i18n="contribute.ambassador_join_desc")
|
||||
|
|
|
@ -48,7 +48,7 @@ block content
|
|||
span(data-i18n="contribute.join_desc_2")
|
||||
| to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email.
|
||||
| Want to chat about what to do or how to get more deeply involved?
|
||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="contribute.join_url_email")
|
||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="contribute.join_url_email")
|
||||
| Email us
|
||||
span(data-i18n="contribute.join_desc_3")
|
||||
| , or find us in our
|
||||
|
|
|
@ -37,7 +37,7 @@ block content
|
|||
|
||||
h4(data-i18n="contribute.how_to_join") How To Join
|
||||
p
|
||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="contribute.contact_us_url")
|
||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="contribute.contact_us_url")
|
||||
| Contact us
|
||||
span ,
|
||||
span(data-i18n="contribute.scribe_join_description")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
extends /templates/kinds/table
|
||||
extends /templates/common/table
|
||||
|
||||
block tableHeader
|
||||
tr
|
||||
|
|
|
@ -1 +1 @@
|
|||
extends /templates/kinds/table
|
||||
extends /templates/common/table
|
||||
|
|
|
@ -110,7 +110,7 @@ block header
|
|||
li
|
||||
a(href='http://discourse.codecombat.com/category/artisan', data-i18n="nav.forum", target="_blank") Forum
|
||||
li
|
||||
a(data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Email
|
||||
a(data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Email
|
||||
|
||||
block outer_content
|
||||
.outer-content
|
||||
|
|
|
@ -1 +1 @@
|
|||
extends /templates/kinds/table
|
||||
extends /templates/common/table
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
extends /templates/kinds/table
|
||||
extends /templates/common/table
|
||||
|
||||
block tableResultsHeader
|
||||
tr
|
||||
|
|
|
@ -71,7 +71,7 @@ block header
|
|||
li
|
||||
a(href='http://discourse.codecombat.com/category/artisan', data-i18n="nav.forum", target="_blank") Forum
|
||||
li
|
||||
a(data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Email
|
||||
a(data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Email
|
||||
|
||||
block outer_content
|
||||
.outer-content
|
||||
|
|
|
@ -47,7 +47,7 @@ block header
|
|||
li
|
||||
a(href='http://discourse.codecombat.com/category/diplomat', data-i18n="nav.forum", target="_blank") Forum
|
||||
li
|
||||
a(data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Email
|
||||
a(data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Email
|
||||
|
||||
block outer_content
|
||||
.outer-content
|
||||
|
|
|
@ -36,4 +36,4 @@
|
|||
|
||||
#play-footer
|
||||
p(class='footer-link-text')
|
||||
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
|
||||
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Contact
|
||||
|
|
|
@ -14,4 +14,4 @@
|
|||
.footer
|
||||
.content
|
||||
p(class='footer-link-text')
|
||||
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
|
||||
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Contact
|
|
@ -1,4 +1,4 @@
|
|||
extends /templates/kinds/user
|
||||
extends /templates/common/user
|
||||
|
||||
block append content
|
||||
if user
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/about'
|
||||
|
||||
module.exports = class AboutView extends RootView
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/cla'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
module.exports = class CLAView extends RootView
|
||||
id: 'cla-view'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/community'
|
||||
|
||||
module.exports = class CommunityView extends RootView
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
ModalView = require 'views/kinds/ModalView'
|
||||
RootView = require 'views/core/RootView'
|
||||
ModalView = require 'views/core/ModalView'
|
||||
template = require 'templates/demo'
|
||||
requireUtils = require 'lib/requireUtils'
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/employers'
|
||||
User = require 'models/User'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
CocoCollection = require 'collections/CocoCollection'
|
||||
EmployerSignupModal = require 'views/modal/EmployerSignupModal'
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/home'
|
||||
|
||||
module.exports = class HomeView extends RootView
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/legal'
|
||||
|
||||
module.exports = class LegalView extends RootView
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/teachers'
|
||||
|
||||
module.exports = class TeachersView extends RootView
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CocoView = require 'views/kinds/CocoView'
|
||||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/test'
|
||||
requireUtils = require 'lib/requireUtils'
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/account/account-settings-root-view'
|
||||
AccountSettingsView = require './AccountSettingsView'
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
CocoView = require 'views/kinds/CocoView'
|
||||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/account/account-settings-view'
|
||||
{me} = require 'lib/auth'
|
||||
forms = require 'lib/forms'
|
||||
{me} = require 'core/auth'
|
||||
forms = require 'core/forms'
|
||||
User = require 'models/User'
|
||||
AuthModal = require 'views/modal/AuthModal'
|
||||
|
||||
|
@ -19,7 +19,7 @@ module.exports = class AccountSettingsView extends CocoView
|
|||
|
||||
constructor: (options) ->
|
||||
super options
|
||||
require('lib/services/filepicker')() unless window.application.isIPadApp # Initialize if needed
|
||||
require('core/services/filepicker')() unless window.application.isIPadApp # Initialize if needed
|
||||
@uploadFilePath = "db/user/#{me.id}"
|
||||
|
||||
afterInsert: ->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CocoView = require 'views/kinds/CocoView'
|
||||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/account/job_profile'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
module.exports = class JobProfileTreemaView extends CocoView
|
||||
id: 'job-profile-view'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/account/main-account-view'
|
||||
|
||||
module.exports = class MainAccountView extends RootView
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/account/payments-view'
|
||||
CocoCollection = require 'collections/CocoCollection'
|
||||
Payment = require 'models/Payment'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
RootView = require 'views/kinds/RootView'
|
||||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/account/unsubscribe'
|
||||
{me} = require 'lib/auth'
|
||||
{me} = require 'core/auth'
|
||||
|
||||
module.exports = class UnsubscribeView extends RootView
|
||||
id: 'unsubscribe-view'
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue