Added Hotkeys + Delete Bulk
This commit is contained in:
parent
79a6ce1fb7
commit
d8fee34092
|
|
@ -12,6 +12,15 @@ Das Ziel dieses Projektes ist es ein auf Javascript und HTML5 basierten "clon" v
|
|||
- Eröffnen von neuen Fabriken
|
||||
- Reisen auf Planeten um dort mit neuen Rohstoffen zu arbeiten
|
||||
|
||||
## Hotkeys
|
||||
Hotkey | Action
|
||||
--|--
|
||||
1 | Build
|
||||
2 | Move
|
||||
3 | Rotate
|
||||
4 | Delete
|
||||
i | Toggle Item Render (to Prevent Lags)
|
||||
|
||||
##
|
||||
[Link zur Aktuellen live Version][f6f130bf]
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
<script src="js/baseclasses.js"></script>
|
||||
<script src="js/tiles.js"></script>
|
||||
<script src="js/game.js"></script>
|
||||
<script src="js/hotkeys.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
|
|||
41
js/game.js
41
js/game.js
|
|
@ -20,6 +20,8 @@ var lang = {}
|
|||
|
||||
var mode = "none"
|
||||
|
||||
var renderItems = true
|
||||
|
||||
$(document).ready(function() {
|
||||
loadGameData()
|
||||
loadItems()
|
||||
|
|
@ -40,6 +42,11 @@ function loadItems() {
|
|||
itemRequest.send(null)
|
||||
var json = JSON.parse(itemRequest.responseText)
|
||||
items = json.items
|
||||
for (var i = 0; i < items.length; i++) {
|
||||
var image = new Image
|
||||
image.src = "images/items/" + items[i].name + ".png"
|
||||
items[i].img = image
|
||||
}
|
||||
}
|
||||
|
||||
function loadLang() {
|
||||
|
|
@ -111,11 +118,12 @@ function render() {
|
|||
}
|
||||
}
|
||||
//RENDER Items
|
||||
if (renderItems)
|
||||
for (var i = 0; i < factorys[currentFactory].items.length; i++) {
|
||||
var item = factorys[currentFactory].items[i]
|
||||
var img = new Image
|
||||
img.src = "images/items/" + getItemFormId(item.id).name + ".png"
|
||||
ctx.drawImage(img, item.x, item.y, 48, 48)
|
||||
// var img = new Image
|
||||
// img.src = "images/items/" + getItemFormId(item.id).name + ".png"
|
||||
ctx.drawImage(items[item.id].img, item.x, item.y, 48, 48)
|
||||
}
|
||||
//RENDER TILE-LAYER1
|
||||
for (var i = 0; i < tilesToRender.length; i++) {
|
||||
|
|
@ -148,10 +156,33 @@ function render() {
|
|||
ctx.globalAlpha = 1
|
||||
} else {
|
||||
ctx.globalAlpha = 0.4
|
||||
if (mode == "delete")
|
||||
if (mode == "delete") {
|
||||
ctx.fillStyle = "#FF0000";
|
||||
else
|
||||
if (deleteFromX != -1) {
|
||||
var lowerX = 0
|
||||
var deltaX = 0
|
||||
if (deleteFromX < cursorScreenX) {
|
||||
lowerX = deleteFromX
|
||||
deltaX = cursorScreenX - deleteFromX + 1
|
||||
} else {
|
||||
lowerX = cursorScreenX
|
||||
deltaX = deleteFromX - cursorScreenX + 1
|
||||
}
|
||||
var lowerY = 0
|
||||
var deltaY = 0
|
||||
if (deleteFromY < cursorScreenY) {
|
||||
lowerY = deleteFromY
|
||||
deltaY = cursorScreenY - deleteFromY + 1
|
||||
} else {
|
||||
lowerY = cursorScreenY
|
||||
deltaY = deleteFromY - cursorScreenY + 1
|
||||
}
|
||||
ctx.fillRect(lowerX * 48, lowerY * 48, deltaX * 48, deltaY * 48)
|
||||
}
|
||||
} else {
|
||||
ctx.fillStyle = "black";
|
||||
}
|
||||
if (deleteFromX == -1)
|
||||
ctx.fillRect(cursorScreenX * 48, cursorScreenY * 48, 48, 48)
|
||||
ctx.globalAlpha = 1
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
$(document).ready(function() {
|
||||
$(document).keypress(function(e) {
|
||||
console.log(e.originalEvent)
|
||||
switch (e.originalEvent.key) {
|
||||
case "1":
|
||||
//BUILD
|
||||
if (mode == "none") {
|
||||
$('#buildselect').fadeIn(200)
|
||||
mode = "selectbuilding"
|
||||
} else {
|
||||
closeUi()
|
||||
}
|
||||
break
|
||||
case "2":
|
||||
//MOVE
|
||||
if (mode == "none") {
|
||||
mode = "move"
|
||||
} else {
|
||||
closeUi()
|
||||
}
|
||||
break
|
||||
case "3":
|
||||
//ROTATE
|
||||
if (mode == "none") {
|
||||
mode = "rotate"
|
||||
} else {
|
||||
closeUi()
|
||||
}
|
||||
break
|
||||
case "4":
|
||||
//ROTATE
|
||||
if (mode == "none") {
|
||||
mode = "delete"
|
||||
} else {
|
||||
closeUi()
|
||||
}
|
||||
break
|
||||
case "i":
|
||||
renderItems = !renderItems
|
||||
break
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
@ -233,8 +233,10 @@ function setTooltip() {
|
|||
|
||||
var itemId = []
|
||||
var itemCount = []
|
||||
var deleteFromX = -1
|
||||
var deleteFromY = -1
|
||||
|
||||
function options(){
|
||||
function options() {
|
||||
$('#options').empty()
|
||||
for (var i = 0; i < selectedTile.options.length; i++) {
|
||||
if (selectedTile.options[i].type == "item") {
|
||||
|
|
@ -277,11 +279,6 @@ function buildEvents() {
|
|||
factorys[currentFactory].tiles[cursorScreenX][cursorScreenY].rotate()
|
||||
}
|
||||
}
|
||||
if (mode == "delete") {
|
||||
if (factorys[currentFactory].tiles[cursorScreenX][cursorScreenY] != 0) {
|
||||
factorys[currentFactory].tiles[cursorScreenX][cursorScreenY] = 0
|
||||
}
|
||||
}
|
||||
if (mode == "move") {
|
||||
if (isCursorInScreen) {
|
||||
if (factorys[currentFactory].tiles[cursorScreenX][cursorScreenY] != 0) {
|
||||
|
|
@ -353,9 +350,42 @@ function buildEvents() {
|
|||
moveFromY = cursorScreenY
|
||||
}
|
||||
}
|
||||
if (mode == "delete") {
|
||||
deleteFromX = cursorScreenX
|
||||
deleteFromY = cursorScreenY
|
||||
}
|
||||
})
|
||||
|
||||
$('body').mouseup(function(e) {
|
||||
if (mode == "delete") {
|
||||
var minX = 0
|
||||
var maxX = 0
|
||||
var minY = 0
|
||||
var maxY = 0
|
||||
if (deleteFromX <= cursorScreenX) {
|
||||
minX = deleteFromX
|
||||
maxX = cursorScreenX
|
||||
} else {
|
||||
maxX = deleteFromX
|
||||
minX = cursorScreenX
|
||||
}
|
||||
if (deleteFromY <= cursorScreenY) {
|
||||
minY = deleteFromY
|
||||
maxY = cursorScreenY
|
||||
} else {
|
||||
maxY = deleteFromY
|
||||
minY = cursorScreenY
|
||||
}
|
||||
for (var x = minX; x <= maxX; x++) {
|
||||
for (var y = minY; y <= maxY; y++) {
|
||||
if (factorys[currentFactory].tiles[x][y] != 0) {
|
||||
factorys[currentFactory].tiles[x][y] = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
deleteFromX = -1
|
||||
deleteFromY = -1
|
||||
}
|
||||
if (e.which == 1)
|
||||
mousedown = false
|
||||
if (mode == "move") {
|
||||
|
|
|
|||
Loading…
Reference in New Issue