Skip to content

Commit

Permalink
add targeting debug draw
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffomatic committed Dec 22, 2020
1 parent 057eb38 commit 8b82a5b
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 12 deletions.
8 changes: 4 additions & 4 deletions src/Client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export class Client {
cursorMode: CursorMode
}
serverConnection: IServerConnection | null
playerNumber: number
playerNumber: number | undefined
serverFrameUpdates: {
frame: number
inputs: ClientMessage[]
Expand Down Expand Up @@ -95,7 +95,7 @@ export class Client {
this.localMessageHistory = []
this.playerInputState = { cursorMode: CursorMode.NONE }
this.serverConnection = null
this.playerNumber = -1
this.playerNumber = undefined
this.serverFrameUpdates = []
this.committedFrame = -1
this.simulationFrame = 0
Expand Down Expand Up @@ -179,7 +179,7 @@ export class Client {
vec2.scale(vec2.create(), this.map.dimensions, TILE_SIZE),
),
])
this.entityManager.currentPlayer = this.playerNumber
this.entityManager.currentPlayer = this.playerNumber!

this.terrainLayer = initMap(this.entityManager, this.map)
this.renderer3d.loadModel('terrain', this.terrainLayer.getModel())
Expand Down Expand Up @@ -316,7 +316,7 @@ export class Client {
this.emitters = this.emitters.filter((e) => !e.dead)
this.emitters.forEach((e) => e.update(dt))

const playerId = this.entityManager.getPlayerId(this.playerNumber)
const playerId = this.entityManager.getPlayerId(this.playerNumber!)
if (playerId) {
const transform = this.entityManager.transforms.get(playerId)!
this.camera2d.setPosition(transform.position)
Expand Down
33 changes: 25 additions & 8 deletions src/systems/client/playerInput.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ const handleMoveInput = (client: Client, frame: number): void => {
direction = DirectionMove.E
}

if (direction !== undefined) {
if (direction !== undefined && client.playerNumber !== undefined) {
client.sendClientMessage({
frame,
playerNumber: client.playerNumber,
Expand Down Expand Up @@ -105,13 +105,30 @@ const handleAttackInput = (client: Client, frame: number): void => {
cameraWorldPos[2] - (cameraWorldPos[1] * dz) / dy,
)

client.sendClientMessage({
frame,
playerNumber: client.playerNumber,
type: ClientMessageType.TANK_AIM,
targetPos,
firing: client.mouse.isDown(MouseButton.LEFT),
})
if (client.playerNumber !== undefined) {
client.sendClientMessage({
frame,
playerNumber: client.playerNumber,
type: ClientMessageType.TANK_AIM,
targetPos,
firing: client.mouse.isDown(MouseButton.LEFT),
})

const playerId = client.entityManager.getPlayerId(client.playerNumber)
if (playerId !== undefined) {
const playerPos = client.entityManager.transforms.get(playerId)!.position
client.debugDraw3d(() => [
{
// prettier-ignore
points: new Float32Array([
playerPos[0], 0.5, playerPos[1],
targetPos[0], 0.5, targetPos[1],
]),
color: vec4.fromValues(1, 0, 0, 1),
},
])
}
}

client.debugDraw3d(() => {
const halfSize = 0.5
Expand Down

0 comments on commit 8b82a5b

Please sign in to comment.