Merge branch 'master' into optimize-rendering
This commit is contained in:
commit
04b58c30b4
42
index.js
42
index.js
@ -33,7 +33,8 @@ window.onload = function () {
|
||||
pace: 1,
|
||||
wave: 0,
|
||||
waveTimer: 0,
|
||||
tower: 'simple'
|
||||
tower: 'simple',
|
||||
sellRatio: .8
|
||||
}
|
||||
|
||||
/**
|
||||
@ -533,6 +534,16 @@ window.onload = function () {
|
||||
}, tower))
|
||||
}
|
||||
|
||||
function sellTower (x, y) {
|
||||
var tower = getTowerAt(x, y)
|
||||
if(tower) {
|
||||
Game.money += tower.cost * Game.sellRatio
|
||||
return Game.towers.splice(Game.towers.indexOf(tower), 1)
|
||||
}else{
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
function update (dt) {
|
||||
fpsCount++
|
||||
fpsCount %= 20
|
||||
@ -603,28 +614,6 @@ window.onload = function () {
|
||||
let tower = Game.towers[i]
|
||||
ctx.fillStyle = tower.icon
|
||||
ctx.fillRect(tower.x * mt + 2, tower.y * mt + 2, 28, 28)
|
||||
|
||||
if (Game.state === 2 && Game.tower) {
|
||||
// tower placement restriction visualization
|
||||
for (let i = 0; i < 4; i++) {
|
||||
let ax = tower.x
|
||||
let ay = tower.y
|
||||
if (i == 0) {
|
||||
ax -= 1
|
||||
} else if (i == 1) {
|
||||
ax += 1
|
||||
} else if (i == 2) {
|
||||
ay -= 1
|
||||
} else if (i == 3) {
|
||||
ay += 1
|
||||
}
|
||||
|
||||
if (ax < 0 || ay < 0 || ay > Maps.height || ax > Maps.width) continue
|
||||
if (getTileIn(Game.map.tiles, ax, ay) !== 0) continue
|
||||
ctx.fillStyle = 'rgba(255, 0, 0, 0.45)'
|
||||
ctx.fillRect(ax * mt, ay * mt, mt, mt)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (let i in Game.enemies) {
|
||||
@ -734,6 +723,13 @@ window.onload = function () {
|
||||
clickBtn()
|
||||
})
|
||||
|
||||
canvas.addEventListener('contextmenu', (e) => {
|
||||
if (Game.state === 2 && mX < Maps.width && mY < Maps.height &&
|
||||
sellTower(mX, mY)) {
|
||||
e.preventDefault()
|
||||
}
|
||||
})
|
||||
|
||||
canvas.addEventListener('mousemove', (e) => {
|
||||
if (e.changedTouches) {
|
||||
let touch = e.changedTouches[0]
|
||||
|
Loading…
Reference in New Issue
Block a user