From dbd79a94d276a9816ffdb2695b7eb02e1c978769 Mon Sep 17 00:00:00 2001 From: MasterGordon Date: Sun, 18 Mar 2018 21:07:55 +0100 Subject: [PATCH] Added Cursor Box Tracking --- js/game.js | 5 ----- js/userinterface.js | 54 ++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 49 insertions(+), 10 deletions(-) diff --git a/js/game.js b/js/game.js index b86c130..d8a504f 100644 --- a/js/game.js +++ b/js/game.js @@ -176,8 +176,3 @@ function drawInfoBar() { } } } - -function buildselect() { - $('#buildselect').show() - mode = "build" -} diff --git a/js/userinterface.js b/js/userinterface.js index b351c29..f9b4f1d 100644 --- a/js/userinterface.js +++ b/js/userinterface.js @@ -5,7 +5,7 @@ $(window).resize(function() { $(document).ready(function() { style(); document.addEventListener('mousemove', onDocumentMouseMove, false); - $('body').on("contextmenu",function(){ + $('body').on("contextmenu", function() { return false; }) }) @@ -13,16 +13,27 @@ $(document).ready(function() { var screenleftpos = 0 var screentoppos = 0 +var infoleftpos = 0 +var itemcounttoppos = 0 + var cursorScreenX = -1 var cursorScreenY = -1 +var cursorItemCountX = -1 +var cursorItemCountY = -1 + +var cursorInfoX = -1 +var cursorInfoY = -1 + var isCursorInScreen = true +var isCursorInItemCount = true +var isCursorInInfo = true function style() { var screenMarginTop = window.innerHeight - 912 var screenMarginLeft = (window.innerWidth - 1200) / 2 - var itemCountMarginTop = screenMarginTop+624 - var infoMarginLeft = screenMarginLeft+768 + var itemCountMarginTop = screenMarginTop + 624 + var infoMarginLeft = screenMarginLeft + 768 $('#screen').css('margin-top', screenMarginTop) $('#screen').css('margin-left', screenMarginLeft) @@ -32,14 +43,17 @@ function style() { $('#info').css('margin-left', infoMarginLeft) $('#itemcount').css('margin-top', itemCountMarginTop) $('#itemcount').css('margin-left', screenMarginLeft) - screenleftpos = pxToInt($('#screen').css("margin-left")) - screentoppos = pxToInt($('#screen').css("margin-top")) + screenleftpos = screenMarginLeft + screentoppos = screenMarginTop + infoleftpos = infoMarginLeft + itemcounttoppos = itemCountMarginTop } function pxToInt(px) { return parseInt(px.substring(0, px.length - 2)) } +//SELECTION UND BOX TRACKING function onDocumentMouseMove(event) { var mX = event.clientX - screenleftpos; @@ -47,6 +61,24 @@ function onDocumentMouseMove(event) { if (mX < 0 || mX > 1200 || mY < 0 || mY > 576) { cursorScreenX = -1 cursorScreenY = -1 + mX = event.clientX - screenleftpos; + mY = event.clientY - itemcounttoppos; + if (mX < 0 || mX > 720 || mY < 0 || mY > 240) { + cursorItemCountX = -1 + cursorItemCountY = -1 + mX = event.clientX - infoleftpos; + mY = event.clientY - itemcounttoppos; + if (mX < 0 || mX > 432 || mY < 0 || mY > 240) { + cursorInfoX = -1 + cursorInfoY = -1 + } else { + cursorInfoX = Math.floor(mX / 48); + cursorInfoY = Math.floor(mY / 48); + } + } else { + cursorItemCountX = Math.floor(mX / 48); + cursorItemCountY = Math.floor(mY / 48); + } } else { cursorScreenX = Math.floor(mX / 48); cursorScreenY = Math.floor(mY / 48); @@ -56,4 +88,16 @@ function onDocumentMouseMove(event) { } else { isCursorInScreen = false } + + if (cursorItemCountX != -1 && cursorItemCountY != -1) { + isCursorInItemCount = true + } else { + isCursorInItemCount = false + } + + if (cursorInfoX != -1 && cursorInfoY != -1) { + isCursorInInfo = true + } else { + isCursorInInfo = false + } }