Removed Equipment Slots

This commit is contained in:
Thaum
2015-03-25 08:22:43 +00:00
parent d573b325d5
commit 62d030adb7
3 changed files with 25 additions and 62 deletions

View File

@@ -1,18 +1,13 @@
Items = new Mongo.Collection('items');
Schemas.Item = new SimpleSchema({
name: {type: String, defaultValue: "New Item", trim: false},
name: {type: String, defaultValue: "New Item", trim: false},
plural: {type: String, optional: true, trim: false},
description:{type: String, optional: true, trim: false},
charId: {type: String, regEx: SimpleSchema.RegEx.Id}, //id of owner
quantity: {type: Number, min: 0, defaultValue: 1},
weight: {type: Number, min: 0, defaultValue: 0, decimal: true},
value: {type: Number, min: 0, defaultValue: 0, decimal: true},
equipmentSlot: {
type: String,
defaultValue: "none",
allowedValues: ["none", "head", "armor", "arms", "hands", "held", "feet"]
},
enabled: {type: Boolean, defaultValue: false},
color: {type: String, allowedValues: _.pluck(colorOptions, "key"), defaultValue: "q"}
});

View File

@@ -14,29 +14,17 @@
</core-menu>
</paper-dropdown>
</paper-dropdown-menu>
<!--Equipment slot dropdown-->
<paper-dropdown-menu id="slotDropDown" label="slot">
<paper-dropdown layered class="dropdown">
<core-menu class="menu" selected={{equipmentSlotIndex}}>
{{#each equipmentSlots}}
<paper-item class="slotMenuItem" value={{value}}>{{name}}</paper-item>
{{/each}}
</core-menu>
</paper-dropdown>
</paper-dropdown-menu>
<!--Equipped-->
{{#if canEquip}}
<div center horizontal layout>
<div flex>Equipped</div>
<paper-toggle-button id="equippedInput"
checked={{equipped}}
role="button"
aria-pressed="false"
tabindex="0"
touch-action="pan-y">
</paper-toggle-button>
</div>
{{/if}}
<div center horizontal layout>
<div flex>Equipped</div>
<paper-toggle-button id="equippedInput"
checked={{enabled}}
role="button"
aria-pressed="false"
tabindex="0"
touch-action="pan-y">
</paper-toggle-button>
</div>
<!--Quantity-->
<paper-input-decorator label="Quantity" floatinglabel>
<input id="quantityInput" type="number" value={{quantity}}>
@@ -55,12 +43,10 @@
<textarea id="itemDescriptionInput" placeholder aria-label="Description" value={{description}}></textarea>
</paper-autogrow-textarea>
</paper-input-decorator>
{{#if canEquip}}
<!--Effects-->
{{> effectsEditList parentId=_id parentCollection="Items" charId=charId type="equipment" enabled=equipped name=name}}
<!--Attacks-->
{{> attackEditList parentId=_id parentCollection="Items" charId=charId type="equipment" enabled=equipped name=name}}
{{/if}}
<!--Effects-->
{{> effectsEditList parentId=_id parentCollection="Items" charId=charId type="equipment" enabled=equipped name=name}}
<!--Attacks-->
{{> attackEditList parentId=_id parentCollection="Items" charId=charId type="equipment" enabled=equipped name=name}}
{{/baseDialog}}
{{/with}}
</template>

View File

@@ -2,16 +2,6 @@ var getContainers = function(charId){
return Containers.find({charId: charId}, {sort: {name: 1, _id: 1}, fields: {name: 1}}).fetch();
};
var equipmentSlots = [
{name: "None", value: "none"},
{name: "Held", value: "held"},
{name: "Armor", value: "armor"},
{name: "Head", value: "head"},
{name: "Arms", value: "arms"},
{name: "Hands", value: "hands"},
{name: "Feet", value: "feet"}
];
Template.itemDialog.helpers({
item: function(){
return Items.findOne(this.itemId);
@@ -19,15 +9,6 @@ Template.itemDialog.helpers({
containers: function(){
return getContainers(this.charId);
},
equipmentSlots: function(){
return equipmentSlots;
},
equipmentSlotIndex: function(){
return _.indexOf(_.pluck(equipmentSlots, "value"), this.equipmentSlot);
},
canEquip: function(){
return this.equipmentSlot !== "none";
},
ne1: function(num){
return num != 1;
}
@@ -40,11 +21,11 @@ Template.itemDialog.events({
"tap #deleteButton": function(event, instance){
Items.softRemove(instance.data.itemId);
GlobalUI.deletedToast(instance.data.itemId, "Items", "Item");
GlobalUI.closeDetail()
GlobalUI.closeDetail();
},
//TODO validate input (integer, non-negative, etc) for these inputs and give validation errors
"change #itemNameInput, input #itemNameInput": function(event){
console.log("changed Nameinput")
console.log("changed Nameinput");
var name = Template.instance().find("#itemNameInput").value;
Items.update(this._id, {$set: {name: name}});
},
@@ -70,7 +51,14 @@ Template.itemDialog.events({
},
"change #equippedInput": function(event){
var equipped = Template.instance().find("#equippedInput").checked;
Items.update(this._id, {$set: {equipped: equipped}});
var item = Items.findOne(this._id);
if(item){
if(equipped){
item.equip();
} else {
item.unequip();
}
}
},
"core-select #containerDropDown": function(event){
var detail = event.originalEvent.detail;
@@ -78,11 +66,5 @@ Template.itemDialog.events({
var containerId = detail.item.getAttribute("name");
var item = Items.findOne(Template.currentData().itemId);
item.moveToContainer(containerId);
},
"core-select #slotDropDown": function(event){
var detail = event.originalEvent.detail;
if(!detail.isSelected) return;
var value = detail.item.getAttribute("value");
Items.update(Template.currentData().itemId, {$set: {equipmentSlot: value}});
}
});