1
0
forked from noxious/server

Added online column to user and char. models, updated send chat message event to new format, removed unused code, fixed typo, replaced console.log()'s with logger

This commit is contained in:
2024-09-08 03:14:55 +02:00
parent 7682d1fd01
commit a64506d3ee
5 changed files with 56 additions and 43 deletions

View File

@ -3,10 +3,9 @@ import { AStar } from '../../utilities/character/aStar'
import ZoneManager from '../../managers/zoneManager'
import prisma from '../../utilities/prisma'
import Rotation from '../../utilities/character/rotation'
import logger from '../../utilities/logger'
export class CharacterMoveService {
private moveTokens: Map<number, symbol> = new Map()
public async updatePosition(character: ExtendedCharacter, position: { x: number; y: number }, newZoneId?: number): Promise<void> {
Object.assign(character, {
positionX: position.x,
@ -29,7 +28,7 @@ export class CharacterMoveService {
public async calculatePath(character: ExtendedCharacter, targetX: number, targetY: number): Promise<Array<{ x: number; y: number }> | null> {
const grid = await ZoneManager.getGrid(character.zoneId)
if (!grid?.length) {
console.error('character:move error', 'Grid not found or empty')
logger.error('character:move error', 'Grid not found or empty')
return null
}
@ -39,19 +38,7 @@ export class CharacterMoveService {
return AStar.findPath(start, end, grid)
}
public startMovement(characterId: number): void {
this.moveTokens.set(characterId, Symbol('moveToken'))
}
public stopMovement(characterId: number): void {
this.moveTokens.delete(characterId)
}
public isMoving(characterId: number): boolean {
return this.moveTokens.has(characterId)
}
public async applyMovementDelay(): Promise<void> {
await new Promise((resolve) => setTimeout(resolve, 210)) // 50ms delay between steps
await new Promise((resolve) => setTimeout(resolve, 250)) // 250ms delay between steps
}
}