codecombat/server/models/LevelThangType.coffee
2014-01-03 10:32:13 -08:00

64 lines
1.5 KiB
CoffeeScript

mongoose = require('mongoose')
plugins = require('./plugins')
LevelComponentSchema = new mongoose.Schema(
original: {type: mongoose.Schema.ObjectId, ref: 'level.session'}
majorVersion: Number
)
ThangSoundSchema = new mongoose.Schema(
events: [String]
actions: [String]
files: [String]
delay: Number
)
SpriteHueLayer = new mongoose.Schema(
name: String
hueRange:
min: Number
max: Number
saturationRange:
min: Number
max: Number
brightnessRange:
min: Number
max: Number
)
LevelThangTypeSchema = new mongoose.Schema()
LevelThangTypeSchema.add(
components: [LevelComponentSchema]
description: String
media:
sounds: [ThangSoundSchema]
display:
alpha: Number
children: [LevelThangTypeSchema]
offset: [Number]
hueLayers: [SpriteHueLayer]
rotation: String
scale:
both: Number
toWorld: Boolean
shadow: String
width: Number
height: Number
sheetFromFile:
images: [String]
frames: [Array]
animations: mongoose.Schema.Types.Mixed
customSheet:
images: [String]
frames: [Array]
animations: mongoose.Schema.Types.Mixed
z: Number
image: String
)
LevelThangTypeSchema.plugin(plugins.PermissionsPlugin)
LevelThangTypeSchema.plugin(plugins.NamedPlugin)
LevelThangTypeSchema.plugin(plugins.SearchablePlugin, {searchable: ['name', 'description']})
module.exports = LevelThangType = mongoose.model('level.thang_type', LevelThangTypeSchema)