Add client disconnection logic to TransitionService

Problem: disconnecting requires access to CharacterSaver,
which is not available in Client.
Having it in a service like this solves that problem.

Next step is to migrate all calls to Client#disconnect and Client#forceDisconnect
to their TransitionService counterparts.
This commit is contained in:
P0nk
2023-08-08 21:51:12 +02:00
parent f6d06ba82a
commit d5682a5f65
10 changed files with 272 additions and 102 deletions

View File

@@ -27,16 +27,16 @@ import net.AbstractPacketHandler;
import net.netty.GameViolationException;
import net.packet.InPacket;
import net.server.Server;
import service.ChannelService;
import service.TransitionService;
/**
* @author Matze
*/
public final class ChangeChannelHandler extends AbstractPacketHandler {
private final ChannelService channelService;
private final TransitionService transitionService;
public ChangeChannelHandler(ChannelService channelService) {
this.channelService = channelService;
public ChangeChannelHandler(TransitionService transitionService) {
this.transitionService = transitionService;
}
@Override
@@ -51,6 +51,6 @@ public final class ChangeChannelHandler extends AbstractPacketHandler {
return;
}
channelService.changeChannel(c, channel);
transitionService.changeChannel(c, channel);
}
}