Fixed errors thrown when observing the effects collection during startup
This commit is contained in:
@@ -51,19 +51,3 @@ Schemas.Effect = new SimpleSchema({
|
|||||||
});
|
});
|
||||||
|
|
||||||
Effects.attachSchema(Schemas.Effect);
|
Effects.attachSchema(Schemas.Effect);
|
||||||
|
|
||||||
//Keep effects in-sync with items
|
|
||||||
Effects.find({type: "equipment"}, {fields: {type: 1, enabled: 1, sourceId: 1}}).observe({
|
|
||||||
added: function(newEffect){
|
|
||||||
var item = Items.findOne(newEffect.sourceId);
|
|
||||||
if(item && item.equipped !== newEffect.enabled){
|
|
||||||
Effects.update(newEffect._id, {$set: {enabled: item.equipped}})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
changed: function(newEffect, oldEffect){
|
|
||||||
var item = Items.findOne(newEffect.sourceId);
|
|
||||||
if(item && item.equipped !== newEffect.enabled){
|
|
||||||
Effects.update(newEffect._id, {$set: {enabled: item.equipped}})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
@@ -38,17 +38,15 @@ Items.helpers({
|
|||||||
//keep effects sycned with items
|
//keep effects sycned with items
|
||||||
Items.find({}, {fields: {equipped: 1}}).observeChanges({
|
Items.find({}, {fields: {equipped: 1}}).observeChanges({
|
||||||
added: function(id, fields){
|
added: function(id, fields){
|
||||||
Effects.find({type: "equipment", sourceId: id}, {fields: {enabled: 1} }).forEach(function(effect){
|
Effects.find({ type: "equipment", sourceId: id, enabled: {$ne: fields.equipped} },
|
||||||
if(fields.equipped !== effect.enabled){
|
{fields: {enabled: 1} }).forEach(function(effect){
|
||||||
Effects.update(effect._id, {$set: {enabled: fields.equipped}})
|
Effects.update(effect._id, {$set: {enabled: fields.equipped}})
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
changed: function(id, fields){
|
changed: function(id, fields){
|
||||||
Effects.find({type: "equipment", sourceId: id}, {fields: {enabled: 1} }).forEach(function(effect){
|
Effects.find({type: "equipment", sourceId: id, enabled: {$ne: fields.equipped} },
|
||||||
if(fields.equipped !== effect.enabled){
|
{fields: {enabled: 1} }).forEach(function(effect){
|
||||||
Effects.update(effect._id, {$set: {enabled: fields.equipped}})
|
Effects.update(effect._id, {$set: {enabled: fields.equipped}})
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
removed: function(id){
|
removed: function(id){
|
||||||
@@ -57,3 +55,18 @@ Items.find({}, {fields: {equipped: 1}}).observeChanges({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Effects.find({type: "equipment"}, {fields: {type: 1, enabled: 1, sourceId: 1}}).observe({
|
||||||
|
added: function(newEffect){
|
||||||
|
var item = Items.findOne(newEffect.sourceId, {fields: {equipped: 1}});
|
||||||
|
if(item && item.equipped !== newEffect.enabled){
|
||||||
|
Effects.update(newEffect._id, {$set: {enabled: item.equipped}})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changed: function(newEffect, oldEffect){
|
||||||
|
var item = Items.findOne(newEffect.sourceId, {fields: {equipped: 1}});
|
||||||
|
if(item && item.equipped !== newEffect.enabled){
|
||||||
|
Effects.update(newEffect._id, {$set: {enabled: item.equipped}})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user