From 49bd367e928dc20ddc6f5274cc1cc7f5958c1611 Mon Sep 17 00:00:00 2001 From: Fate-JH Date: Tue, 12 Aug 2025 14:04:40 -0400 Subject: [PATCH] isolated behavior --- .../net/psforever/actors/net/LoginActor.scala | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/main/scala/net/psforever/actors/net/LoginActor.scala b/src/main/scala/net/psforever/actors/net/LoginActor.scala index 2e931a781..fbe04adb1 100644 --- a/src/main/scala/net/psforever/actors/net/LoginActor.scala +++ b/src/main/scala/net/psforever/actors/net/LoginActor.scala @@ -153,13 +153,7 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne failWithError(s"Invalid packet class received: $default") } - private def displayingServerListBehavior: Receive = persistentSetupMixinBehavior.orElse { - case packet: PlanetSideGamePacket => - handleGamePktDuringWorldSelect(packet) - - case LoginActor.UpdateServerList => - updateServerList() - + private def nextPortTransferBehavior: Receive = { case SocketPane.NextPort(_, _, portNum) => val address = gameTestServerAddress.getAddress.getHostAddress log.info(s"Connecting to ${address.toLowerCase}: $portNum ...") @@ -167,21 +161,25 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne context.become(idlingIgnoreBehavior) middlewareActor ! MiddlewareActor.Send(response) middlewareActor ! MiddlewareActor.Close() - - case default => - failWithError(s"Invalid packet class received: $default") } - private def waitingForServerTransferBehavior: Receive = persistentSetupMixinBehavior.orElse { - case SocketPane.NextPort(_, _, portNum) => - val address = gameTestServerAddress.getAddress.getHostAddress - log.info(s"Connecting to ${address.toLowerCase}: $portNum ...") - val response = ConnectToWorldMessage(serverName, address, portNum) - context.become(idlingIgnoreBehavior) - middlewareActor ! MiddlewareActor.Send(response) - middlewareActor ! MiddlewareActor.Close() + private def displayingServerListBehavior: Receive = persistentSetupMixinBehavior + .orElse(nextPortTransferBehavior) + .orElse { + case packet: PlanetSideGamePacket => + handleGamePktDuringWorldSelect(packet) - case _ => () + case LoginActor.UpdateServerList => + updateServerList() + + case default => + failWithError(s"Invalid packet class received: $default") + } + + private def waitingForServerTransferBehavior: Receive = persistentSetupMixinBehavior + .orElse(nextPortTransferBehavior) + .orElse { + case _ => () } private def handleGamePktDuringLogin(pkt: PlanetSideGamePacket): Unit = {