1
0
forked from noxious/server

Improved entities, ran formatting, utilise getters and setters

This commit is contained in:
2024-12-26 16:45:00 +01:00
parent 691abb7c4f
commit 4a963b4359
18 changed files with 68 additions and 97 deletions

View File

@ -1,12 +1,12 @@
import { Server } from 'socket.io'
import { TSocket } from '#application/types'
import ZoneRepository from '#repositories/zoneRepository'
import { Zone } from '@prisma/client'
import { gameLogger } from '#application/logger'
import CharacterRepository from '#repositories/characterRepository'
import ZoneManager from '#managers/zoneManager'
import zoneCharacter from '#models/zoneCharacter'
import zoneManager from '#managers/zoneManager'
import { Zone } from '#entities/zone'
interface IResponse {
zone: Zone
@ -39,7 +39,7 @@ export default class CharacterJoinEvent {
/**
* @TODO: If zone is not found, spawn back to the start
*/
const zone = await ZoneRepository.getById(character.zoneId)
const zone = await ZoneRepository.getById(character.zone!.id)
if (!zone) {
gameLogger.error('zone:character:join error', 'Zone not found')
return

View File

@ -36,7 +36,7 @@ export default class CharacterMove {
const path = await this.characterService.calculatePath(zoneCharacter.character, positionX, positionY)
if (!path) {
this.io.in(zoneCharacter.character.zoneId.toString()).emit('character:moveError', 'No valid path found')
this.io.in(zoneCharacter.character.zone!.id.toString()).emit('character:moveError', 'No valid path found')
return
}
@ -58,7 +58,7 @@ export default class CharacterMove {
const [start, end] = [path[i], path[i + 1]]
character.rotation = Rotation.calculate(start.x, start.y, end.x, end.y)
const zoneEventTile = await zoneEventTileRepository.getEventTileByZoneIdAndPosition(character.zoneId, Math.floor(end.x), Math.floor(end.y))
const zoneEventTile = await zoneEventTileRepository.getEventTileByZoneIdAndPosition(character.zone!.id, Math.floor(end.x), Math.floor(end.y))
if (zoneEventTile?.type === 'BLOCK') break
if (zoneEventTile?.type === 'TELEPORT' && zoneEventTile.teleport) {
@ -67,7 +67,7 @@ export default class CharacterMove {
}
this.characterService.updatePosition(character, end)
this.io.in(character.zoneId.toString()).emit('character:move', zoneCharacter)
this.io.in(character.zone!.id.toString()).emit('character:move', zoneCharacter)
await this.characterService.applyMovementDelay()
}
@ -91,6 +91,6 @@ export default class CharacterMove {
private finalizeMovement(zoneCharacter: ZoneCharacter): void {
zoneCharacter.isMoving = false
this.io.in(zoneCharacter.character.zoneId.toString()).emit('character:move', zoneCharacter)
this.io.in(zoneCharacter.character.zone!.id.toString()).emit('character:move', zoneCharacter)
}
}