diff --git a/css/main.css b/css/main.css index 7c30dda..e731b86 100644 --- a/css/main.css +++ b/css/main.css @@ -23,5 +23,40 @@ body { border: 1px, solid , black; border: solid; border-color: white; - background-image: url(../images/fliesen.png); + background-image: url(../images/infobg.png); +} + +#buildselect { + position: fixed; + border: 1px, solid , black; + border: solid; + border-color: yellow; + background-image: url(../images/infobg.png); + width: 1200; + height: 576; + overflow-y: scroll; + padding: 4; +} + +.buildtile { + width: 48; + height: 48; + margin: 4; +} + +/* Custom Scrollbar */ +::-webkit-scrollbar { + width: 24; +} + +::-webkit-scrollbar-track { + background: #B0BEC5; +} + +::-webkit-scrollbar-thumb { + background: #78909C; +} + +::-webkit-scrollbar-thumb:hover { + background: #546E7A; } diff --git a/images/infobg.png b/images/infobg.png new file mode 100644 index 0000000..62e2228 Binary files /dev/null and b/images/infobg.png differ diff --git a/images/items/coal.png b/images/items/coal.png index 705a40c..05847df 100644 Binary files a/images/items/coal.png and b/images/items/coal.png differ diff --git a/images/tiles/lazer1.png b/images/tiles/lazer1.png index 47512cc..637ec0b 100644 Binary files a/images/tiles/lazer1.png and b/images/tiles/lazer1.png differ diff --git a/images/ui/build.png b/images/ui/build.png new file mode 100644 index 0000000..d0a7841 Binary files /dev/null and b/images/ui/build.png differ diff --git a/images/ui/delete.png b/images/ui/delete.png new file mode 100644 index 0000000..6bc4372 Binary files /dev/null and b/images/ui/delete.png differ diff --git a/images/ui/info.png b/images/ui/info.png new file mode 100644 index 0000000..b706f0d Binary files /dev/null and b/images/ui/info.png differ diff --git a/images/ui/move.png b/images/ui/move.png new file mode 100644 index 0000000..c8698fb Binary files /dev/null and b/images/ui/move.png differ diff --git a/images/ui/rocket.png b/images/ui/rocket.png new file mode 100644 index 0000000..0047614 Binary files /dev/null and b/images/ui/rocket.png differ diff --git a/images/ui/rotate.png b/images/ui/rotate.png new file mode 100644 index 0000000..fa3099b Binary files /dev/null and b/images/ui/rotate.png differ diff --git a/images/ui/upgrade.png b/images/ui/upgrade.png new file mode 100644 index 0000000..6b2b92e Binary files /dev/null and b/images/ui/upgrade.png differ diff --git a/index.html b/index.html index 4fa1630..0c69a3a 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@ - + @@ -22,6 +22,8 @@ +
+
diff --git a/js/baseclasses.js b/js/baseclasses.js index 40ad643..38ba8c4 100644 --- a/js/baseclasses.js +++ b/js/baseclasses.js @@ -4,7 +4,6 @@ class Tile { this.y = y this.direction = "right" this.input = new Inventory() - this.frames = 1 this.name = "base" this.texture = { "0": [], diff --git a/js/game.js b/js/game.js index edc930a..b86c130 100644 --- a/js/game.js +++ b/js/game.js @@ -7,9 +7,12 @@ var timestep = 1000 / 48 var delta = 0 var lastFrameTimeMs = 0 var ctx = {} +var infoCtx = {} var currentFactory = 0 var fulltime = 0 +var mode = "none" + $(document).ready(function() { loadGameData() loadItems() @@ -90,8 +93,8 @@ function render() { for (var i = 0; i < tilesToRender.length; i++) { var tile = tilesToRender[i] var img = new Image - var tmp = tile.getTexture(fulltime,0) - if (tmp!="0") { + var tmp = tile.getTexture(fulltime, 0) + if (tmp != "0") { img.src = tmp drawRotatedImage(img, tile.x * 48 + 24, tile.y * 48 + 24, directions[tile.direction].degree) } @@ -108,18 +111,20 @@ function render() { for (var i = 0; i < tilesToRender.length; i++) { var tile = tilesToRender[i] var img = new Image - var tmp = tile.getTexture(fulltime,1) - if (tmp!="0") { + var tmp = tile.getTexture(fulltime, 1) + if (tmp != "0") { img.src = tmp drawRotatedImage(img, tile.x * 48 + 24, tile.y * 48 + 24, directions[tile.direction].degree) } } //DRAW CURSOR BOX - if(isCursorInScreen){ + if (isCursorInScreen) { ctx.globalAlpha = 0.4 - ctx.fillRect(cursorScreenX*48,cursorScreenY*48,48,48) + ctx.fillRect(cursorScreenX * 48, cursorScreenY * 48, 48, 48) ctx.globalAlpha = 1 } + //DRAW INFO BAR + drawInfoBar() } function getItemFormId(id) { @@ -141,4 +146,38 @@ function prepairRender() { canvas = $('#info')[0]; canvas.width = 432 canvas.height = 240 + infoCtx = canvas.getContext('2d') + //tileClasses + for(var i=0;i0){ + src = ' src="images/tiles/'+tmp.texture[1][0]+'.png"' + } + var style = '' + if(tmp.texture[0].length>0){ + style = ' style="background-image: url(images/tiles/'+tmp.texture[0][0]+'.png)"' + } + var tag = '' + console.log(tag) + $('#buildselect').append(tag) + } +} + +var infoBarIcons = ["build.png", "move.png", "rotate.png", "delete.png", null, "upgrade.png", "info.png", null, "rocket.png"] + +function drawInfoBar() { + infoCtx.clearRect(0, 0, innerWidth, innerHeight) + for (var i = 0; i < infoBarIcons.length; i++) { + if (infoBarIcons[i] != null) { + var img = new Image; + img.src = "images/ui/" + infoBarIcons[i]; + infoCtx.drawImage(img, i * 48, 0, 48, 48); + } + } +} + +function buildselect() { + $('#buildselect').show() + mode = "build" } diff --git a/js/tiles.js b/js/tiles.js index 1697d45..2f1fc6f 100644 --- a/js/tiles.js +++ b/js/tiles.js @@ -1,3 +1,5 @@ +var tileClasses = [] + //Hier sind alle im Tiles welche im Spiel präsent sind class Conveyorbelt extends Tile { @@ -10,3 +12,6 @@ class Conveyorbelt extends Tile { } } } +for(var i=0;i<1000;i++){ +tileClasses.push(Conveyorbelt) +} diff --git a/js/resize.js b/js/userinterface.js similarity index 89% rename from js/resize.js rename to js/userinterface.js index 5a01afa..b351c29 100644 --- a/js/resize.js +++ b/js/userinterface.js @@ -5,6 +5,9 @@ $(window).resize(function() { $(document).ready(function() { style(); document.addEventListener('mousemove', onDocumentMouseMove, false); + $('body').on("contextmenu",function(){ + return false; + }) }) var screenleftpos = 0 @@ -23,6 +26,8 @@ function style() { $('#screen').css('margin-top', screenMarginTop) $('#screen').css('margin-left', screenMarginLeft) + $('#buildselect').css('margin-top', screenMarginTop) + $('#buildselect').css('margin-left', screenMarginLeft) $('#info').css('margin-top', itemCountMarginTop) $('#info').css('margin-left', infoMarginLeft) $('#itemcount').css('margin-top', itemCountMarginTop)