Improved service names, added attack anim. sprite to init.ts, added attackService, added attack event
This commit is contained in:
20
src/events/map/characterAttack.ts
Normal file
20
src/events/map/characterAttack.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { BaseEvent } from '#application/base/baseEvent'
|
||||
import CharacterAttackService from '#services/characterAttackService'
|
||||
|
||||
export default class CharacterMove extends BaseEvent {
|
||||
private readonly characterAttackService = CharacterAttackService
|
||||
|
||||
public listen(): void {
|
||||
this.socket.on('map:character:attack', this.handleEvent.bind(this))
|
||||
}
|
||||
|
||||
private async handleEvent(data: any, callback: (response: any) => void): Promise<void> {
|
||||
try {
|
||||
console.log('attack', this.socket.characterId)
|
||||
await this.characterAttackService.attack(this.socket.characterId!)
|
||||
} catch (error) {
|
||||
this.logger.error('map:character:attack error', error)
|
||||
return callback(false)
|
||||
}
|
||||
}
|
||||
}
|
@ -3,8 +3,8 @@ import { MapEventTileWithTeleport } from '#application/types'
|
||||
import MapManager from '#managers/mapManager'
|
||||
import MapCharacter from '#models/mapCharacter'
|
||||
import MapEventTileRepository from '#repositories/mapEventTileRepository'
|
||||
import CharacterService from '#services/characterService'
|
||||
import TeleportService from '#services/teleportService'
|
||||
import CharacterService from '#services/characterMoveService'
|
||||
import TeleportService from '#services/characterTeleportService'
|
||||
|
||||
export default class CharacterMove extends BaseEvent {
|
||||
private readonly characterService = CharacterService
|
||||
@ -54,7 +54,7 @@ export default class CharacterMove extends BaseEvent {
|
||||
|
||||
if (mapEventTile?.type === 'BLOCK') break
|
||||
if (mapEventTile?.type === 'TELEPORT' && mapEventTile.teleport) {
|
||||
await this.handleMapEventTile(mapEventTile as MapEventTileWithTeleport)
|
||||
await this.handleTeleportMapEventTile(mapEventTile as MapEventTileWithTeleport)
|
||||
return
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ export default class CharacterMove extends BaseEvent {
|
||||
}
|
||||
}
|
||||
|
||||
private async handleMapEventTile(mapEventTile: MapEventTileWithTeleport): Promise<void> {
|
||||
private async handleTeleportMapEventTile(mapEventTile: MapEventTileWithTeleport): Promise<void> {
|
||||
if (mapEventTile.getTeleport()) {
|
||||
await TeleportService.teleportCharacter(this.socket.characterId!, {
|
||||
targetMapId: mapEventTile.getTeleport()!.getToMap().getId(),
|
||||
|
Reference in New Issue
Block a user