public Task ReceiveAsync(IContext context) { switch (context.Message) { case RegisterPid registerPid: ActorManagement.TryAddPid(registerPid.Sender, registerPid.Name); context.Respond(new Done()); break; case RequestPid requestPid: var pid = ActorManagement.TryGetPid(requestPid.Name); context.Respond(new ResponsePid() { Sender = pid }); break; case RequestPackage package: ResponsePackage repPackage = new ResponsePackage(); repPackage.InitPackage(package); IByteBuffer data = GameEnvironment.ActionDispatcher.TryEncodePackage(repPackage); SessionManager.PostSend(repPackage.UserId, data); break; } return(Actor.Done); }
public Task ReceiveAsync(IContext context) { switch (context.Message) { case RequestPackage package: try { var pid = ActorManagement.GetOrLoadPid(package.ActorName); if (pid != null) { var response = new ResponsePackage(); response.InitPackage(package); response.Data = "注册成功"; pid.Tell(response); } } catch (Exception ex) { } break; } return(Actor.Done); }