feat: 实现地面技能智能释放、极速交互完成与雇员探险一键重派三项业务扩展
This commit is contained in:
+13
-1
@@ -963,7 +963,7 @@ Test("stage 3 M4 native send buffer layout and audited encoders roundtrip throug
|
||||
{
|
||||
const string v=PacketParser.AuditedClientVersion;
|
||||
var map=new OpcodeMap();
|
||||
map.Load($$$"""{"{{{v}}}":{"UP_ActionSend":[913],"UP_EventStart":[720],"UP_ClientTrigger":[963],"UP_EventFinish":[501],"UP_EventFinish4":[502],"UP_EventFinish8":[503],"UP_EventFinish16":[504],"UP_EventFinish32":[505],"UP_EventFinish64":[506],"UP_EventFinish128":[507],"UP_EventFinish255":[508],"UP_EventAction":[601],"UP_EventAction4":[602],"UP_EventAction8":[603],"UP_EventAction16":[604],"UP_EventAction32":[605],"UP_EventAction64":[606],"UP_EventAction128":[607],"UP_EventAction255":[608],"DOWN_Effect":[787],"DOWN_EventStart":[737],"DOWN_EventFinish":[217]}}""",v,"test");
|
||||
map.Load($$$"""{"{{{v}}}":{"UP_ActionSend":[913],"UP_ActionSendPos":[891],"UP_EventStart":[720],"UP_ClientTrigger":[963],"UP_EventFinish":[501],"UP_EventFinish4":[502],"UP_EventFinish8":[503],"UP_EventFinish16":[504],"UP_EventFinish32":[505],"UP_EventFinish64":[506],"UP_EventFinish128":[507],"UP_EventFinish255":[508],"UP_EventAction":[601],"UP_EventAction4":[602],"UP_EventAction8":[603],"UP_EventAction16":[604],"UP_EventAction32":[605],"UP_EventAction64":[606],"UP_EventAction128":[607],"UP_EventAction255":[608],"DOWN_Effect":[787],"DOWN_EventStart":[737],"DOWN_EventFinish":[217]}}""",v,"test");
|
||||
|
||||
var act=AuditedPacketEncoder.EncodeActionSend(map,v,7535,1,321,0x10001234);
|
||||
Check(act.Name=="UP_ActionSend" && act.Opcode==913 && act.Payload.Length==32 && act.ExpectedResponseOpcode==787);
|
||||
@@ -978,6 +978,18 @@ Test("stage 3 M4 native send buffer layout and audited encoders roundtrip throug
|
||||
Check(captured.Error==null && captured.Packet is {Complete:true,Opcode:913});
|
||||
Check(captured.Packet!.Payload.SequenceEqual(act.Payload));
|
||||
|
||||
var pos=AuditedPacketEncoder.EncodeActionSendPos(map,v,188,1,322,new System.Numerics.Vector3(100.5f,20.0f,-50.25f),512,256);
|
||||
Check(pos.Name=="UP_ActionSendPos" && pos.Opcode==891 && pos.Payload.Length==24 && pos.ExpectedResponseOpcode==787);
|
||||
Check(PacketParser.Parse(pos.Name,pos.Payload,v).Summary.Contains("请求序号=322") && PacketParser.Parse(pos.Name,pos.Payload,v).Summary.Contains("X=100.500"));
|
||||
var rawPos=pos.NativeBuffer;
|
||||
Check(rawPos.Length==NativeSendPacket.NativePrefixSize+pos.Payload.Length);
|
||||
mem.Blocks[0x5000]=rawPos[..16];
|
||||
mem.Blocks[0x5020]=rawPos[0x20..(0x20+pos.Payload.Length)];
|
||||
var capturedPos=NativePacketCapture.Up(mem.Read,0x5000,_=>true);
|
||||
Check(capturedPos.Error==null && capturedPos.Packet is {Complete:true,Opcode:891});
|
||||
Check(capturedPos.Packet!.Payload.SequenceEqual(pos.Payload));
|
||||
Throws<ArgumentException>(()=>AuditedPacketEncoder.EncodeActionSendPos(map,v,188,1,322,new System.Numerics.Vector3(float.NaN,0,0)));
|
||||
|
||||
var evStart=AuditedPacketEncoder.EncodeEventStart(map,v,0x1000200030004000,0x00050001,7);
|
||||
Check(evStart.Payload.Length==16 && evStart.ExpectedResponseOpcode==737 && PacketParser.Parse(evStart.Name,evStart.Payload,v).Parsed);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user