12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- namespace ET.Server
- {
- [Event(SceneType.Process)]
- public class NetServerComponentOnReadEvent: BEvent<NetServerComponentOnRead>
- {
- protected override async ETTask OnEvent(NetServerComponentOnRead args)
- {
- Session session = args.Session;
- object message = args.Message;
- if (message is IResponse response)
- {
- session.OnResponse(response);
- return;
- }
-
- switch (message)
- {
- case IActorLocationRequest actorLocationRequest:
- {
- long unitId = session.GetComponent<SessionPlayerComponent>().PlayerId;
- int rpcId = actorLocationRequest.RpcId;
- long instanceId = session.InstanceId;
- IResponse iResponse = await ActorLocationSenderComponent.Instance.Call(unitId, actorLocationRequest);
- iResponse.RpcId = rpcId;
-
- if (session.InstanceId == instanceId)
- {
- session.Send(iResponse);
- }
- break;
- }
- case IActorLocationMessage actorLocationMessage:
- {
- long unitId = session.GetComponent<SessionPlayerComponent>().PlayerId;
- ActorLocationSenderComponent.Instance.Send(unitId, actorLocationMessage);
- break;
- }
- case IActorRequest actorRequest:
- {
- break;
- }
- case IActorMessage actorMessage:
- {
- break;
- }
- default:
- {
-
- MessageDispatcherComponent.Instance.Handle(session, message);
- break;
- }
- }
- }
- }
- }
|