Update code to load recipe books synchronously
This commit is contained in:
+88
-1
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@
|
|||||||
"tools": ["Furnace"]
|
"tools": ["Furnace"]
|
||||||
}, {
|
}, {
|
||||||
"output": [[1, "Healer"]],
|
"output": [[1, "Healer"]],
|
||||||
"input": [[2, "Essence of Life"], [1, "Essence of Earth"], [1, "Essence of Fire"], [1, "Essence of Water"], [1, "Essence of Air"], [3, Red Dye]],
|
"input": [[2, "Essence of Life"], [1, "Essence of Earth"], [1, "Essence of Fire"], [1, "Essence of Water"], [1, "Essence of Air"], [3, "Red Dye"]],
|
||||||
"tools": ["Crafting Table"]
|
"tools": ["Crafting Table"]
|
||||||
}, {
|
}, {
|
||||||
"output": [[1, "Crying Obsidian"]],
|
"output": [[1, "Crying Obsidian"]],
|
||||||
|
|||||||
+22
-12
@@ -4,6 +4,16 @@ var ERROR_DISPLAY_DURATION = 10000; // ms
|
|||||||
var FADE_DURATION = 250; // ms
|
var FADE_DURATION = 250; // ms
|
||||||
var SLIDE_DURATION = 600; // ms
|
var SLIDE_DURATION = 600; // ms
|
||||||
|
|
||||||
|
var RECIPE_BOOK_URLS = [
|
||||||
|
"data/vanilla.json",
|
||||||
|
"data/buildcraft.json",
|
||||||
|
"data/industrial_craft.json",
|
||||||
|
"data/applied_energetics.json",
|
||||||
|
"data/thermal_expansion.json",
|
||||||
|
"data/gravisuite.json",
|
||||||
|
"data/more_blocks.json"
|
||||||
|
];
|
||||||
|
|
||||||
// Global Variables ///////////////////////////////////////////////////////////////////////////////////////////////////
|
// Global Variables ///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var __inventory = createManifest();
|
var __inventory = createManifest();
|
||||||
@@ -46,12 +56,7 @@ $(function() {
|
|||||||
$("#crafting_selector").focus(onCraftingSelectorFocused);
|
$("#crafting_selector").focus(onCraftingSelectorFocused);
|
||||||
$("#inventory").keyup(onInventoryChanged);
|
$("#inventory").keyup(onInventoryChanged);
|
||||||
|
|
||||||
loadRecipeBook("data/vanilla.json");
|
loadRecipeBooks(RECIPE_BOOK_URLS);
|
||||||
loadRecipeBook("data/buildcraft.json");
|
|
||||||
loadRecipeBook("data/industrial_craft.json");
|
|
||||||
loadRecipeBook("data/applied_energetics.json");
|
|
||||||
loadRecipeBook("data/thermal_expansion.json");
|
|
||||||
loadRecipeBook("data/gravisuite.json");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function onCraftingSelectorChanged() {
|
function onCraftingSelectorChanged() {
|
||||||
@@ -106,7 +111,7 @@ function onInventoryChanged() {
|
|||||||
onCraftingSelectorChanged();
|
onCraftingSelectorChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRecipeBookLoaded() {
|
function onRecipeBooksLoaded() {
|
||||||
if (__loadingCount > 0 || __recipeBooks.length === 0) {
|
if (__loadingCount > 0 || __recipeBooks.length === 0) {
|
||||||
$("#crafting").fadeOut(FADE_DURATION);
|
$("#crafting").fadeOut(FADE_DURATION);
|
||||||
} else if (__loadingCount === 0 && __recipeBooks.length > 0) {
|
} else if (__loadingCount === 0 && __recipeBooks.length > 0) {
|
||||||
@@ -118,7 +123,7 @@ function onRecipeBookLoaded() {
|
|||||||
|
|
||||||
function onRecipeLoadButtonClicked() {
|
function onRecipeLoadButtonClicked() {
|
||||||
$("#reipebook_load_button").attr("disabled", true);
|
$("#reipebook_load_button").attr("disabled", true);
|
||||||
loadRecipeBook($("#recipe_book_url").val(), function() {
|
loadRecipeBooks([$("#recipe_book_url").val()], function() {
|
||||||
$("#recipe_book_url").val("");
|
$("#recipe_book_url").val("");
|
||||||
$("#reipebook_load_button").removeAttr("disabled");
|
$("#reipebook_load_button").removeAttr("disabled");
|
||||||
});
|
});
|
||||||
@@ -126,8 +131,14 @@ function onRecipeLoadButtonClicked() {
|
|||||||
|
|
||||||
// UI Helper Functions ////////////////////////////////////////////////////////////////////////////////////////////////
|
// UI Helper Functions ////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
function loadRecipeBook(recipeBookUrl) {
|
function loadRecipeBooks(recipeBooks, onComplete) {
|
||||||
__loadingCount++;
|
if (recipeBooks.length === 0) {
|
||||||
|
if (onComplete) { onComplete(); }
|
||||||
|
onRecipeBooksLoaded();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
recipeBookUrl = recipeBooks[0]
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: recipeBookUrl,
|
url: recipeBookUrl,
|
||||||
dataType: "text",
|
dataType: "text",
|
||||||
@@ -147,8 +158,7 @@ function loadRecipeBook(recipeBookUrl) {
|
|||||||
$("#load_error").slideDown(FADE_DURATION).delay(ERROR_DISPLAY_DURATION).slideUp(FADE_DURATION);
|
$("#load_error").slideDown(FADE_DURATION).delay(ERROR_DISPLAY_DURATION).slideUp(FADE_DURATION);
|
||||||
},
|
},
|
||||||
complete: function() {
|
complete: function() {
|
||||||
__loadingCount--;
|
loadRecipeBooks(recipeBooks.splice(1));
|
||||||
onRecipeBookLoaded();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user