LogicRecvClientMessageEvent.cs 625 B

12345678910111213141516171819202122
  1. using Model;
  2. using MongoDB.Bson;
  3. namespace Controller
  4. {
  5. [Event(EventType.LogicRecvClientMessage, ServerType.All)]
  6. public class LogicRecvClientMessageEvent: IEventSync
  7. {
  8. public void Run(Env env)
  9. {
  10. byte[] messageBytes = env.Get<byte[]>(EnvKey.MessageBytes);
  11. // 如果是客户端消息,转交给unit actor处理
  12. MessageParseHelper.LogicParseClientToGateToLogicMessage(messageBytes, env);
  13. ObjectId unitId = env.Get<ObjectId>(EnvKey.MessageUnitId);
  14. Actor actor = World.Instance.GetComponent<ActorComponent>().Get(unitId);
  15. if (actor != null)
  16. {
  17. actor.Add(env);
  18. }
  19. }
  20. }
  21. }