spincycle
Version:
A reactive message router and object manager that lets clients subscribe to object property changes on the server
45 lines (37 loc) • 1.21 kB
text/coffeescript
SuperModel = require('../lib/SuperModel')
defer = require('node-promise').defer
all = require('node-promise').allOrNone
uuid = require('node-uuid')
SamplePlayer = require('./SamplePlayer')
class SampleGame extends SuperModel
= 'SampleGame'
=
[
{name: 'players', public: true, array: true, type: 'SamplePlayer', ids: 'players' }
{name: 'name', public: true, value: 'name', default: 'game_'+uuid.v4() }
]
constructor: ( ) ->
return super
postCreate: (q) =>
if .length == 0
().then () =>
console.log 'SampleGame players created...'
console.dir @
q.resolve(@)
else
q.resolve(@)
createPlayers: () =>
console.log 'creating sample players'
q = defer()
= []
all([new SamplePlayer(), new SamplePlayer()]).then (results) =>
console.log 'sample players created'
results.forEach (player) =>
#console.dir player
.push player
player.serialize()
console.log 'serializing player '+player.name
()
q.resolve()
return q
module.exports = SampleGame