diff --git a/AndorsTrailEdit/datastore.js b/AndorsTrailEdit/datastore.js index e8aad827c..ee1a2d6f0 100644 --- a/AndorsTrailEdit/datastore.js +++ b/AndorsTrailEdit/datastore.js @@ -4,7 +4,6 @@ var ATEditor = (function(ATEditor, _) { var defaultOptions = { nameField: 'name' ,idField: 'id' - ,iconIDField: 'iconID' }; _.defaults(options, defaultOptions); @@ -20,7 +19,7 @@ var ATEditor = (function(ATEditor, _) { this.hasObjectWithId = function(id) { return _.some(this.items, function(obj) { return obj[options.idField] === id; }); }; - this.hasIcon = function() { return iconIDField; }; + this.hasIcon = function() { return _.toBool(options.iconIDField); }; this.getIcon = function(obj) { return obj[options.iconIDField]; }; this.getId = function(obj) { return obj[options.idField]; }; this.getName = function(obj) { diff --git a/AndorsTrailEdit/directives.js b/AndorsTrailEdit/directives.js index b609d5356..3de960180 100644 --- a/AndorsTrailEdit/directives.js +++ b/AndorsTrailEdit/directives.js @@ -1,4 +1,4 @@ -var ATEditor = (function(ATEditor, app, $) { +var ATEditor = (function(ATEditor, app, tilesets, $) { // Copied from http://jsfiddle.net/p69aT/ // -> originally from https://groups.google.com/forum/?fromgroups=#!topic/angular/7XVOebG6z6E @@ -41,16 +41,30 @@ var ATEditor = (function(ATEditor, app, $) { app.directive('ngTileImage', function () { return function(scope, element, attrs) { - element.css('display', 'none'); + var scale = attrs.ngTileImageScale; + if (!scale) scale = 1; + scope.$watch(attrs.ngTileImage, function(value) { - if (value) { - element.fadeIn(400); - } else { - element.fadeOut(300); + var img = tilesets.parseImageID(value); + var tileset = tilesets.getTileset(img.tilesetName); + var c = tileset.localIDToCoords(img.localID); + element.css({ + "background-image": "url(" +img.path + img.tilesetName + ".png)", + "background-position": (-c.x)*scale+"px " + (-c.y)*scale+"px", + "width": tileset._tileSize.x * scale + "px", + "height": tileset._tileSize.y * scale + "px", + "cursor": "pointer" + }); + if (scale && (scale != 1)) { + element.css({ + "background-size": + tileset._tileSize.x * tileset._numTiles.x * scale + "px " + + tileset._tileSize.y * tileset._numTiles.y * scale + "px " + }); } }); }; }); return ATEditor; -})(ATEditor, ATEditor.app, jQuery); +})(ATEditor, ATEditor.app, ATEditor.tilesets, jQuery); diff --git a/AndorsTrailEdit/edit_actorcondition.html b/AndorsTrailEdit/edit_actorcondition.html index 64de7ca3d..e827bffdf 100644 --- a/AndorsTrailEdit/edit_actorcondition.html +++ b/AndorsTrailEdit/edit_actorcondition.html @@ -1,8 +1,12 @@ -