Implemented Feature editing UI
This commit is contained in:
@@ -1,32 +1,6 @@
|
||||
Meteor.methods({
|
||||
addFeature: function(charId, newFeature){
|
||||
Characters.update(
|
||||
charId,
|
||||
{ $push: {"customFeatures": newFeature} }
|
||||
);
|
||||
addFeatureEffects(charId, newFeature);
|
||||
},
|
||||
removeFeature: function(charId, oldFeature){
|
||||
Characters.update(
|
||||
charId,
|
||||
{ $pull: { "customFeatures": {"_id": oldFeature._id} } }
|
||||
);
|
||||
removeFeatureEffects(charId, oldFeature);
|
||||
},
|
||||
updateFeature: function (charId, oldFeature, newFeature) {
|
||||
var selector = {_id: charId, "customFeatures._id": oldFeature._id};
|
||||
var setter = {"customFeatures.$": newFeature};
|
||||
Characters.update(
|
||||
selector,
|
||||
{ $set: setter }
|
||||
);
|
||||
removeFeatureEffects(charId, oldFeature);
|
||||
addFeatureEffects(charId, newFeature);
|
||||
}
|
||||
});
|
||||
|
||||
addFeatureEffects = function(charId, newFeature){
|
||||
_.each(newFeature.effects, function(effect){
|
||||
if(newFeature.name) effect.name = newFeature.name;
|
||||
pushEffect(charId, effect);
|
||||
});
|
||||
_.each(newFeature.actions, function(action){
|
||||
@@ -47,10 +21,10 @@ removeFeatureEffects = function(charId, oldFeature){
|
||||
_.each(oldFeature.actions, function(action){
|
||||
pullAction(charId, action);
|
||||
});
|
||||
_.each(newFeature.attacks, function(attack){
|
||||
pushAttack(charId, attack);
|
||||
_.each(oldFeature.attacks, function(attack){
|
||||
pullAttack(charId, attack);
|
||||
});
|
||||
_.each(newFeature.spells, function(spell){
|
||||
pushSpell(charId, spell);
|
||||
_.each(oldFeature.spells, function(spell){
|
||||
pullSpell(charId, spell);
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user