Allow "have" inventory to include non-craftables
This commit is contained in:
@@ -21,10 +21,11 @@ module.exports = class InventoryController extends BaseController
|
||||
if not options.model? then throw new Error 'options.model is required'
|
||||
if not options.modPack? then throw new Error 'options.modPack is required'
|
||||
|
||||
options.icon ?= '/images/chest_front.png'
|
||||
options.editable ?= true
|
||||
options.imageLoader ?= new ImageLoader defaultUrl:'/images/unknown.png'
|
||||
options.title ?= 'Inventory'
|
||||
options.icon ?= '/images/chest_front.png'
|
||||
options.editable ?= true
|
||||
options.imageLoader ?= new ImageLoader defaultUrl:'/images/unknown.png'
|
||||
options.gatherNames ?= -> @modPack.gatherNames()
|
||||
options.title ?= 'Inventory'
|
||||
|
||||
options.templateName = 'inventory'
|
||||
super options
|
||||
@@ -33,6 +34,7 @@ module.exports = class InventoryController extends BaseController
|
||||
@icon = options.icon
|
||||
@imageLoader = options.imageLoader
|
||||
@modPack = options.modPack
|
||||
@gatherNames = options.gatherNames
|
||||
@title = options.title
|
||||
|
||||
@_stackControllers = []
|
||||
@@ -42,14 +44,15 @@ module.exports = class InventoryController extends BaseController
|
||||
# Event Methods ################################################################################
|
||||
|
||||
onAddButtonClicked: ->
|
||||
item = @modPack.findItemByName @$nameField.val()
|
||||
return unless item?
|
||||
name = @$nameField.val()
|
||||
return unless @modPack.isValidName name
|
||||
|
||||
@model.add item.slug, parseInt(@$quantityField.val())
|
||||
@model.add _.slugify(name), parseInt(@$quantityField.val())
|
||||
@$nameField.val ''
|
||||
@$quantityField.val '1'
|
||||
|
||||
@$scrollbox.scrollTop @$scrollbox.prop 'scrollHeight'
|
||||
@$nameField.autocomplete 'close'
|
||||
|
||||
onClearButtonClicked: ->
|
||||
@model.clear()
|
||||
@@ -163,7 +166,7 @@ module.exports = class InventoryController extends BaseController
|
||||
onSelected = => @onItemSelected()
|
||||
|
||||
@$nameField.autocomplete
|
||||
source: @modPack.gatherRecipeNames()
|
||||
source: @gatherNames()
|
||||
delay: 0
|
||||
minLength: 0
|
||||
change: onChanged
|
||||
|
||||
@@ -25,27 +25,28 @@ module.exports = class ItemPageController extends BaseController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@wantController = @addChild InventoryController, '.want',
|
||||
editable: true
|
||||
icon: '/images/fishing_rod.png'
|
||||
imageLoader: @imageLoader
|
||||
model: @model.plan.want
|
||||
modPack: @model.modPack
|
||||
title: 'Items you want'
|
||||
|
||||
@haveController = @addChild InventoryController, '.have',
|
||||
editable: true,
|
||||
imageLoader: @imageLoader
|
||||
model: @model.plan.have,
|
||||
modPack: @model.modPack,
|
||||
model: @model.plan.have
|
||||
modPack: @model.modPack
|
||||
gatherNames: -> @modPack.gatherNames includeGatherable:true
|
||||
title: 'Items you have'
|
||||
|
||||
@wantController = @addChild InventoryController, '.want',
|
||||
editable: true
|
||||
icon: '/images/fishing_rod.png',
|
||||
imageLoader: @imageLoader
|
||||
model: @model.plan.want,
|
||||
modPack: @model.modPack,
|
||||
title: 'Items you want'
|
||||
|
||||
@needController = @addChild InventoryController, '.need',
|
||||
editable: false
|
||||
icon: '/images/boots.png',
|
||||
icon: '/images/boots.png'
|
||||
imageLoader: @imageLoader
|
||||
model: @model.plan.need,
|
||||
modPack: @model.modPack,
|
||||
model: @model.plan.need
|
||||
modPack: @model.modPack
|
||||
title: "Items you'll need"
|
||||
|
||||
@craftingTableController = @addChild CraftingTableController, '.view__crafting_table',
|
||||
|
||||
Reference in New Issue
Block a user