From a784f275ff49ac54ea7129d857ab910ae883cf7d Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Sun, 11 Jan 2015 16:01:51 -0800 Subject: [PATCH] Add back the "include tools" option * Rewrite the crafting algorithm to recursively find all the steps involved and then resolve how many times each needs to be run. * Update the base controller to debounce calls to refresh * Fix a few erroneous recipes for IC2-Classic --- src/css/templates/item_page.scss | 5 + src/data/ic2_classic/recipes.json | 4 +- .../controllers/base_controller.coffee | 2 + .../controllers/item_page_controller.coffee | 20 +++ src/scripts/models/crafting_plan.coffee | 120 ++++++++++-------- src/scripts/models/crafting_table.coffee | 39 ++---- src/scripts/models/inventory.coffee | 29 +++-- src/scripts/models/recipe.coffee | 4 +- 8 files changed, 125 insertions(+), 98 deletions(-) diff --git a/src/css/templates/item_page.scss b/src/css/templates/item_page.scss index d7f53ea9a..6aee8e1fe 100644 --- a/src/css/templates/item_page.scss +++ b/src/css/templates/item_page.scss @@ -20,4 +20,9 @@ All rights reserved. .view__crafting_table { width: 50%; height: 26em; } .view__mod_pack { margin-top: 2em; width: 100%; } + + .want label { + position: absolute; top: 50%; left: 0.5em; + @include transform(translateY(-50%)); + } } diff --git a/src/data/ic2_classic/recipes.json b/src/data/ic2_classic/recipes.json index 18fabbd16..e93ea24c2 100644 --- a/src/data/ic2_classic/recipes.json +++ b/src/data/ic2_classic/recipes.json @@ -436,7 +436,7 @@ "pattern": ".1. 020 .1." }, { "output": "Extractor", - "input": [[4, "Tree Tap"], "Electronic Circuit", "Machine Block"], + "input": [[4, "Treetap"], "Electronic Circuit", "Machine Block"], "pattern": "... 020 010", "tools": "Crafting Table" }, { @@ -1108,7 +1108,7 @@ "tools": "Crafting Table" }, { "output": "Wind Mill", - "input": [[4, "Iron"], "Generator"], + "input": [[4, "Iron Ingot"], "Generator"], "pattern": "0.0 .1. 0.0", "tools": "Crafting Table" }, { diff --git a/src/scripts/controllers/base_controller.coffee b/src/scripts/controllers/base_controller.coffee index e856af802..134436d59 100644 --- a/src/scripts/controllers/base_controller.coffee +++ b/src/scripts/controllers/base_controller.coffee @@ -23,6 +23,8 @@ module.exports = class BaseController extends Backbone.View @_loadTemplate options.templateName super options + @_tryRefresh = _.debounce @_tryRefresh, 100 + # Public Methods ############################################################################### addChild: (Controller, atSelector, options={})-> diff --git a/src/scripts/controllers/item_page_controller.coffee b/src/scripts/controllers/item_page_controller.coffee index cf7b4d86a..ce091303d 100644 --- a/src/scripts/controllers/item_page_controller.coffee +++ b/src/scripts/controllers/item_page_controller.coffee @@ -22,6 +22,11 @@ module.exports = class ItemPageController extends BaseController options.templateName = 'item_page' super options + # Event Methods ################################################################################ + + onToolsBoxToggled: -> + @model.plan.includingTools = @$('.includeTools:checked').length isnt 0 + # BaseController Overrides ##################################################################### onDidRender: -> @@ -54,4 +59,19 @@ module.exports = class ItemPageController extends BaseController modPack: @model.modPack @modPackController = @addChild ModPackController, '.view__mod_pack', model:@model.modPack + + @$('.want .toolbar').append '