Files
DiceCloud/rpg-docs/Model/Inventory/Containers.js
2015-01-27 09:43:08 +00:00

32 lines
939 B
JavaScript

//set up the collection for containers
Containers = new Meteor.Collection("containers");
Schemas.Container = new SimpleSchema({
name: { type: String },
charId: { type: String, regEx: SimpleSchema.RegEx.Id},
isCarried: { type: Boolean },
weight: {type: Number, min: 0, defaultValue: 0, decimal: true},
value: {type: Number, min: 0, defaultValue: 0, decimal: true},
description:{type: String, optional: true}
});
Containers.attachSchema(Schemas.Container);
Containers.helpers({
totalValue: function(){
var value = this.value;
Items.find({container: this._id, equipped: false}, {fields: {quantity: 1, value: 1}}).forEach(function(item){
value += item.totalValue();
});
return value;
},
totalWeight: function(){
var weight = this.weight;
Items.find({container: this._id, equipped: false}, {fields: {weight: 1, value: 1}}).forEach(function(item){
weight += item.totalWeight();
});
return weight;
}
});