Browse Source

Support for loading (single) layout, positioning + rotating towers

master
Chris Smith 12 years ago
parent
commit
4b519624ce
1 changed files with 41 additions and 5 deletions
  1. 41
    5
      index.html

+ 41
- 5
index.html View File

@@ -4,14 +4,41 @@
4 4
   <title>Dungeon Defenders Viewer</title>
5 5
   <script src="res/js/jquery-1.7.1.min.js" type="text/javascript"></script>
6 6
   <script src="res/js/jquery-ui-1.8.17.custom.min.js" type="text/javascript"></script>
7
+  <script src="res/data/levels.js" type="text/javascript"></script>
7 8
   <script src="res/data/towers.js" type="text/javascript"></script>
9
+  <script src="res/data/layout.js" type="text/javascript"></script>
8 10
   <script type="text/javascript">
9 11
    $(function() {
12
+    $.fn.rotate = function(rot) {
13
+     return this.css('-webkit-transform', 'rotate(' + rot + 'deg)')
14
+                .css('-moz-transform', 'rotate(' + rot + 'deg');
15
+    };
16
+
17
+    function createElForTower(type) {
18
+     return $('<img>')
19
+       .attr('src', type.image)
20
+       .attr('alt', type.name)
21
+       .addClass('tower');
22
+    }
23
+
24
+    function adjustMapOffset(towerOffset, level) {
25
+     var res = $.extend({}, towerOffset);
26
+
27
+     if (level.offsets) {
28
+      res.left += level.offsets.left;
29
+      res.top += level.offsets.top;
30
+     }
31
+
32
+     if (level.scale) {
33
+      res.left *= level.scale.left;
34
+      res.top *= level.scale.top;
35
+     }
36
+
37
+     return res;
38
+    }
39
+
10 40
     $.each(towers, function() {
11
-     $('<img>')
12
-       .attr('src', this.image)
13
-       .attr('alt', this.name)
14
-       .addClass('tower')
41
+     createElForTower(this)
15 42
        .appendTo($('#palette'));
16 43
     });
17 44
 
@@ -26,6 +53,15 @@
26 53
         .appendTo(document.body);
27 54
      }
28 55
     });
56
+
57
+    $.each(layout.towers, function() {
58
+     createElForTower(towers[this.type])
59
+       .draggable()
60
+       .css('position', 'absolute')
61
+       .offset(adjustMapOffset(this.position, levels[layout.level - 1]))
62
+       .rotate(this.rotation)
63
+       .appendTo($('#palette'));
64
+    });
29 65
    });
30 66
   </script>
31 67
   <style type="text/css">
@@ -33,7 +69,7 @@
33 69
   </style>
34 70
  </head>
35 71
  <body>
36
-  <img src="res/images/minimaps/Level1.png" alt="Level 1 minimap" id="map">
72
+  <img src="res/images/minimaps/TheSpires.png" alt="Minimap" id="map">
37 73
   <img src="res/images/coreIcon.png" alt="core" class="core">
38 74
 
39 75
   <div id="palette">

Loading…
Cancel
Save