mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-01-06 19:50:01 +01:00
83 lines
3.0 KiB
JavaScript
83 lines
3.0 KiB
JavaScript
var ATEditor = (function(ATEditor, model, utils, _, $) {
|
|
|
|
var http;
|
|
var resources = {};
|
|
|
|
function loadUrlFromGit(relativeUrl, successCallback, errorCallback) {
|
|
var url = utils.getUrlRelativeToBaseSrcDir(relativeUrl);
|
|
http.get(url)
|
|
.success(function(data, status, headers, config) {
|
|
successCallback(data);
|
|
}).error(function(data, status, headers, config) {
|
|
if(errorCallback) { errorCallback(status); }
|
|
});
|
|
}
|
|
|
|
function addExampleModelItems() {
|
|
var _import = function(section, data) {
|
|
ATEditor.importExport.importDataObjects(section, data);
|
|
};
|
|
|
|
_import(model.quests, [
|
|
{id: "testQuest", name: "Test quest", showInLog: 1, stages: [ { progress: 10, logText: "Stage 10"} , { progress: 20, logText: "Stage 20", finishesQuest: 1 } ] }
|
|
]);
|
|
}
|
|
|
|
function init($http) {
|
|
http = $http;
|
|
|
|
// http://andors-trail.googlecode.com/git/AndorsTrail/res/values/loadresources.xml
|
|
loadUrlFromGit("AndorsTrail/res/values/loadresources.xml", function(data) {
|
|
var parseListOfResourceFiles = function(xmlname, section) {
|
|
var items = [];
|
|
resources[section.id] = items;
|
|
$(data).find("array[name='" + xmlname + "'] item").each(function(idx, f) {
|
|
var match = (/^@.*\/(.+)$/g).exec($(f).text());
|
|
if (match) {
|
|
items.push(match[1] + ".json");
|
|
}
|
|
});
|
|
};
|
|
parseListOfResourceFiles("loadresource_itemcategories", model.itemCategories);
|
|
parseListOfResourceFiles("loadresource_actorconditions", model.actorConditions);
|
|
parseListOfResourceFiles("loadresource_items", model.items);
|
|
parseListOfResourceFiles("loadresource_droplists", model.droplists);
|
|
parseListOfResourceFiles("loadresource_quests", model.quests);
|
|
parseListOfResourceFiles("loadresource_conversationlists", model.dialogue);
|
|
parseListOfResourceFiles("loadresource_monsters", model.monsters);
|
|
|
|
_.each(resources['itemcategory'], function(file) {
|
|
loadUrlFromGit("AndorsTrail/res/raw/" + file, function(data) {
|
|
ATEditor.importExport.importDataObjects(model.itemCategories, data);
|
|
});
|
|
});
|
|
});
|
|
|
|
loadUrlFromGit("AndorsTrail/res/raw/actorconditions_v069.json", function(data) {
|
|
ATEditor.importExport.importDataObjects(model.actorConditions, data);
|
|
});
|
|
loadUrlFromGit("AndorsTrail/res/raw/conversationlist_mikhail.json", function(data) {
|
|
ATEditor.importExport.importDataObjects(model.dialogue, data);
|
|
});
|
|
loadUrlFromGit("AndorsTrail/res/raw/droplists_crossglen.json", function(data) {
|
|
ATEditor.importExport.importDataObjects(model.droplists, data);
|
|
});
|
|
loadUrlFromGit("AndorsTrail/res/raw/monsterlist_crossglen_animals.json", function(data) {
|
|
ATEditor.importExport.importDataObjects(model.monsters, data);
|
|
});
|
|
loadUrlFromGit("AndorsTrail/res/raw/itemlist_v069_2.json", function(data) {
|
|
ATEditor.importExport.importDataObjects(model.items, data);
|
|
});
|
|
|
|
addExampleModelItems(model);
|
|
}
|
|
|
|
ATEditor.exampleData = {
|
|
init: init
|
|
,resources: resources
|
|
,loadUrlFromGit: loadUrlFromGit
|
|
};
|
|
|
|
return ATEditor;
|
|
})(ATEditor, ATEditor.model, ATEditor.utils, _, jQuery);
|