LogicManager.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using NetCore;
  2. using NetCore.ContentParse;
  3. using NetCore.Protocol.MemoryPack;
  4. using NetServerCore.NetLink;
  5. using Protocol.Protocol.MemoryPack.MemoryMessage;
  6. namespace NetServer.ServerLogic;
  7. public class LogicManager : LogicManagerBaisc<MemoryRequest>
  8. {
  9. private MemoryWrap<MemoryResponse, MemoryRequest> memoryWrap =
  10. new MemoryWrap<MemoryResponse, MemoryRequest>();
  11. public override void Logic(object data, IConnection iConnection)
  12. {
  13. InternalMemoryResponese internalMemoryResponese = data as InternalMemoryResponese;
  14. MemoryRequest memoryRequest = (MemoryRequest)memoryWrap.Deserialize(internalMemoryResponese.TransitData);
  15. GameLogicBasic logicBaisc = (GameLogicBasic)GetLogicBaisc((int)memoryRequest.GameSendType);
  16. logicBaisc.GameLogic(memoryRequest, iConnection, internalMemoryResponese);
  17. }
  18. public void SendResponse (MemoryResponse data, InternalMemoryResponese internalMemoryResponese,
  19. IConnection iConnection)
  20. {
  21. byte[] dataByte = memoryWrap.Serialize(data);
  22. InternalMemoryRequst internalMemoryRequst = new InternalMemoryRequst();
  23. internalMemoryRequst.SendType = InternalSendType.Transparent;
  24. internalMemoryRequst.ServerType = ServerType.GameServer;
  25. internalMemoryRequst.TransitData = dataByte;
  26. internalMemoryRequst.ResponeseSendSequence = internalMemoryResponese.sendSequence;
  27. internalMemoryRequst.ResponeseClinetConnectionId = internalMemoryResponese.ClinetConnectionId;
  28. iConnection.SendData(internalMemoryRequst);
  29. }
  30. public override void AddConnection(IConnection iConnection)
  31. {
  32. }
  33. public override void RemoveConnection(IConnection iConnection)
  34. {
  35. }
  36. }