forked from noxious/server
format & lint
This commit is contained in:
@ -2,10 +2,10 @@ import { BaseService } from '#application/base/baseService'
|
||||
import config from '#application/config'
|
||||
import { Character } from '#entities/character'
|
||||
import { Zone } from '#entities/zone'
|
||||
import SocketManager from '#managers/socketManager'
|
||||
import ZoneManager from '#managers/zoneManager'
|
||||
import CharacterRepository from '#repositories/characterRepository'
|
||||
import ZoneRepository from '#repositories/zoneRepository'
|
||||
import SocketManager from '#managers/socketManager'
|
||||
|
||||
type Position = { x: number; y: number }
|
||||
export type Node = Position & { parent?: Node; g: number; h: number; f: number }
|
||||
@ -24,7 +24,7 @@ class CharacterService extends BaseService {
|
||||
]
|
||||
|
||||
public async calculatePath(character: Character, targetX: number, targetY: number): Promise<Position[] | null> {
|
||||
const zone = ZoneManager.getZoneById(character.zone!.id)
|
||||
const zone = ZoneManager.getZoneById(character.zone.id)
|
||||
const grid = await zone?.getGrid()
|
||||
|
||||
if (!grid?.length) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Character } from '#entities/character'
|
||||
import ZoneManager from '#managers/zoneManager'
|
||||
import SocketManager from '#managers/socketManager'
|
||||
import Logger, { LoggerType } from '#application/logger'
|
||||
import { Character } from '#entities/character'
|
||||
import SocketManager from '#managers/socketManager'
|
||||
import ZoneManager from '#managers/zoneManager'
|
||||
import ZoneCharacter from '#models/zoneCharacter'
|
||||
|
||||
interface TeleportOptions {
|
||||
@ -35,10 +35,11 @@ class TeleportService {
|
||||
const existingCharacter = !isInitialJoin && ZoneManager.getCharacterById(characterId)
|
||||
const zoneCharacter = isInitialJoin
|
||||
? new ZoneCharacter(character!)
|
||||
: existingCharacter || (() => {
|
||||
this.logger.error(`Teleport failed - Character ${characterId} not found in ZoneManager`)
|
||||
return null
|
||||
})()
|
||||
: existingCharacter ||
|
||||
(() => {
|
||||
this.logger.error(`Teleport failed - Character ${characterId} not found in ZoneManager`)
|
||||
return null
|
||||
})()
|
||||
|
||||
if (!zoneCharacter) return false
|
||||
|
||||
@ -54,12 +55,7 @@ class TeleportService {
|
||||
}
|
||||
|
||||
// Update character position and zone
|
||||
await zoneCharacter.character
|
||||
.setPositionX(targetX)
|
||||
.setPositionY(targetY)
|
||||
.setRotation(rotation)
|
||||
.setZone(targetZone.getZone())
|
||||
.update()
|
||||
await zoneCharacter.character.setPositionX(targetX).setPositionY(targetY).setRotation(rotation).setZone(targetZone.getZone()).update()
|
||||
|
||||
// Join new zone
|
||||
socket.join(targetZoneId.toString())
|
||||
@ -80,4 +76,4 @@ class TeleportService {
|
||||
}
|
||||
}
|
||||
|
||||
export default new TeleportService()
|
||||
export default new TeleportService()
|
||||
|
@ -7,7 +7,7 @@ import ZoneManager from '#managers/zoneManager'
|
||||
|
||||
class ZoneEventTileService extends BaseService {
|
||||
public async handleTeleport(io: Server, socket: TSocket, character: ExtendedCharacter, teleport: ZoneEventTileTeleport): Promise<void> {
|
||||
if (teleport.toZone.id === character.zone!.id) return
|
||||
if (teleport.toZone.id === character.zone.id) return
|
||||
|
||||
const loadedZone = ZoneManager.getZoneById(teleport.toZone.id)
|
||||
if (!loadedZone) {
|
||||
@ -17,7 +17,7 @@ class ZoneEventTileService extends BaseService {
|
||||
|
||||
const zone = loadedZone.getZone()
|
||||
|
||||
const oldZoneId = character.zone!.id
|
||||
const oldZoneId = character.zone.id
|
||||
const newZoneId = teleport.toZone.id
|
||||
|
||||
character.isMoving = false
|
||||
|
Reference in New Issue
Block a user