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
|
- Eröffnen von neuen Fabriken
|
||||||
- Reisen auf Planeten um dort mit neuen Rohstoffen zu arbeiten
|
- 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]
|
[Link zur Aktuellen live Version][f6f130bf]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
<script src="js/baseclasses.js"></script>
|
<script src="js/baseclasses.js"></script>
|
||||||
<script src="js/tiles.js"></script>
|
<script src="js/tiles.js"></script>
|
||||||
<script src="js/game.js"></script>
|
<script src="js/game.js"></script>
|
||||||
|
<script src="js/hotkeys.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
|
||||||
49
js/game.js
49
js/game.js
|
|
@ -20,6 +20,8 @@ var lang = {}
|
||||||
|
|
||||||
var mode = "none"
|
var mode = "none"
|
||||||
|
|
||||||
|
var renderItems = true
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
loadGameData()
|
loadGameData()
|
||||||
loadItems()
|
loadItems()
|
||||||
|
|
@ -40,6 +42,11 @@ function loadItems() {
|
||||||
itemRequest.send(null)
|
itemRequest.send(null)
|
||||||
var json = JSON.parse(itemRequest.responseText)
|
var json = JSON.parse(itemRequest.responseText)
|
||||||
items = json.items
|
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() {
|
function loadLang() {
|
||||||
|
|
@ -111,12 +118,13 @@ function render() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//RENDER Items
|
//RENDER Items
|
||||||
for (var i = 0; i < factorys[currentFactory].items.length; i++) {
|
if (renderItems)
|
||||||
var item = factorys[currentFactory].items[i]
|
for (var i = 0; i < factorys[currentFactory].items.length; i++) {
|
||||||
var img = new Image
|
var item = factorys[currentFactory].items[i]
|
||||||
img.src = "images/items/" + getItemFormId(item.id).name + ".png"
|
// var img = new Image
|
||||||
ctx.drawImage(img, item.x, item.y, 48, 48)
|
// img.src = "images/items/" + getItemFormId(item.id).name + ".png"
|
||||||
}
|
ctx.drawImage(items[item.id].img, item.x, item.y, 48, 48)
|
||||||
|
}
|
||||||
//RENDER TILE-LAYER1
|
//RENDER TILE-LAYER1
|
||||||
for (var i = 0; i < tilesToRender.length; i++) {
|
for (var i = 0; i < tilesToRender.length; i++) {
|
||||||
var tile = tilesToRender[i]
|
var tile = tilesToRender[i]
|
||||||
|
|
@ -148,11 +156,34 @@ function render() {
|
||||||
ctx.globalAlpha = 1
|
ctx.globalAlpha = 1
|
||||||
} else {
|
} else {
|
||||||
ctx.globalAlpha = 0.4
|
ctx.globalAlpha = 0.4
|
||||||
if (mode == "delete")
|
if (mode == "delete") {
|
||||||
ctx.fillStyle = "#FF0000";
|
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";
|
ctx.fillStyle = "black";
|
||||||
ctx.fillRect(cursorScreenX * 48, cursorScreenY * 48, 48, 48)
|
}
|
||||||
|
if (deleteFromX == -1)
|
||||||
|
ctx.fillRect(cursorScreenX * 48, cursorScreenY * 48, 48, 48)
|
||||||
ctx.globalAlpha = 1
|
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 itemId = []
|
||||||
var itemCount = []
|
var itemCount = []
|
||||||
|
var deleteFromX = -1
|
||||||
|
var deleteFromY = -1
|
||||||
|
|
||||||
function options(){
|
function options() {
|
||||||
$('#options').empty()
|
$('#options').empty()
|
||||||
for (var i = 0; i < selectedTile.options.length; i++) {
|
for (var i = 0; i < selectedTile.options.length; i++) {
|
||||||
if (selectedTile.options[i].type == "item") {
|
if (selectedTile.options[i].type == "item") {
|
||||||
|
|
@ -277,11 +279,6 @@ function buildEvents() {
|
||||||
factorys[currentFactory].tiles[cursorScreenX][cursorScreenY].rotate()
|
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 (mode == "move") {
|
||||||
if (isCursorInScreen) {
|
if (isCursorInScreen) {
|
||||||
if (factorys[currentFactory].tiles[cursorScreenX][cursorScreenY] != 0) {
|
if (factorys[currentFactory].tiles[cursorScreenX][cursorScreenY] != 0) {
|
||||||
|
|
@ -353,9 +350,42 @@ function buildEvents() {
|
||||||
moveFromY = cursorScreenY
|
moveFromY = cursorScreenY
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (mode == "delete") {
|
||||||
|
deleteFromX = cursorScreenX
|
||||||
|
deleteFromY = cursorScreenY
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
$('body').mouseup(function(e) {
|
$('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)
|
if (e.which == 1)
|
||||||
mousedown = false
|
mousedown = false
|
||||||
if (mode == "move") {
|
if (mode == "move") {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue