forked from noxious/server
Updated create and update calls to services
This commit is contained in:
@ -1,15 +1,16 @@
|
||||
import { AStar } from '../../utilities/character/aStar'
|
||||
import ZoneManager from '../../managers/zoneManager'
|
||||
import prisma from '../../utilities/prisma'
|
||||
import Rotation from '../../utilities/character/rotation'
|
||||
import { gameLogger } from '../../utilities/logger'
|
||||
import { Character } from '@prisma/client'
|
||||
import { Character, CharacterGender, CharacterRace } from '@prisma/client'
|
||||
|
||||
interface Position {
|
||||
x: number
|
||||
y: number
|
||||
}
|
||||
|
||||
export class CharacterMoveService {
|
||||
export class CharacterService {
|
||||
private static readonly MOVEMENT_DELAY_MS = 250
|
||||
|
||||
public updatePosition(character: Character, position: Position, newZoneId?: number): void {
|
||||
@ -48,10 +49,32 @@ export class CharacterMoveService {
|
||||
}
|
||||
|
||||
public async applyMovementDelay(): Promise<void> {
|
||||
await new Promise((resolve) => setTimeout(resolve, CharacterMoveService.MOVEMENT_DELAY_MS))
|
||||
await new Promise((resolve) => setTimeout(resolve, CharacterService.MOVEMENT_DELAY_MS))
|
||||
}
|
||||
|
||||
private isValidPosition(position: Position): boolean {
|
||||
return Number.isFinite(position.x) && Number.isFinite(position.y) && position.x >= 0 && position.y >= 0
|
||||
}
|
||||
|
||||
async create(name: string, userId: number) {
|
||||
return prisma.character.create({
|
||||
data: {
|
||||
name,
|
||||
userId
|
||||
// characterTypeId: 1 // @TODO set to chosen character type
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async updateCharacterPosition(id: number, positionX: number, positionY: number, rotation: number, zoneId: number) {
|
||||
await prisma.character.update({
|
||||
where: { id },
|
||||
data: {
|
||||
positionX,
|
||||
positionY,
|
||||
rotation,
|
||||
zoneId
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user