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
   <title>Dungeon Defenders Viewer</title>
4
   <title>Dungeon Defenders Viewer</title>
5
   <script src="res/js/jquery-1.7.1.min.js" type="text/javascript"></script>
5
   <script src="res/js/jquery-1.7.1.min.js" type="text/javascript"></script>
6
   <script src="res/js/jquery-ui-1.8.17.custom.min.js" type="text/javascript"></script>
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
   <script src="res/data/towers.js" type="text/javascript"></script>
8
   <script src="res/data/towers.js" type="text/javascript"></script>
9
+  <script src="res/data/layout.js" type="text/javascript"></script>
8
   <script type="text/javascript">
10
   <script type="text/javascript">
9
    $(function() {
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
     $.each(towers, function() {
40
     $.each(towers, function() {
11
-     $('<img>')
12
-       .attr('src', this.image)
13
-       .attr('alt', this.name)
14
-       .addClass('tower')
41
+     createElForTower(this)
15
        .appendTo($('#palette'));
42
        .appendTo($('#palette'));
16
     });
43
     });
17
 
44
 
26
         .appendTo(document.body);
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
   </script>
66
   </script>
31
   <style type="text/css">
67
   <style type="text/css">
33
   </style>
69
   </style>
34
  </head>
70
  </head>
35
  <body>
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
   <img src="res/images/coreIcon.png" alt="core" class="core">
73
   <img src="res/images/coreIcon.png" alt="core" class="core">
38
 
74
 
39
   <div id="palette">
75
   <div id="palette">

Loading…
Cancel
Save