int HandlePlayerClicked(byte[] buffer, int offset, int left) { const int size = 1 + 1 + 1 + 2 + 2 + 1 + 2 + 2 + 2 + 1; if (left < size) { return(0); } MouseButton Button = (MouseButton)buffer[offset + 1]; MouseAction Action = (MouseAction)buffer[offset + 2]; ushort yaw = NetUtils.ReadU16(buffer, offset + 3); ushort pitch = NetUtils.ReadU16(buffer, offset + 5); byte entityID = buffer[offset + 7]; ushort x = NetUtils.ReadU16(buffer, offset + 8); ushort y = NetUtils.ReadU16(buffer, offset + 10); ushort z = NetUtils.ReadU16(buffer, offset + 12); TargetBlockFace face = (TargetBlockFace)buffer[offset + 14]; if (face > TargetBlockFace.None) { face = TargetBlockFace.None; } OnPlayerClickEvent.Call(this, Button, Action, yaw, pitch, entityID, x, y, z, face); return(size); }
void HandlePlayerClicked(byte[] packet) { if (OnPlayerClick == null) { return; } var Button = (MouseButton)packet[1]; var Action = (MouseAction)packet[2]; ushort Yaw = NetUtils.ReadU16(packet, 3); ushort Pitch = NetUtils.ReadU16(packet, 5); byte EntityID = packet[7]; ushort X = NetUtils.ReadU16(packet, 8); ushort Y = NetUtils.ReadU16(packet, 10); ushort Z = NetUtils.ReadU16(packet, 12); byte Face = packet[14]; var face = TargetBlockFace.None; if (Face < (byte)face) { face = (TargetBlockFace)Face; } OnPlayerClick(this, Button, Action, Yaw, Pitch, EntityID, X, Y, Z, face); OnPlayerClickEvent.Call(this, Button, Action, Yaw, Pitch, EntityID, X, Y, Z, face); }