//
// GpPacket.cs
//
// Copyright (c) František Boháček. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using NosSmooth.Packets.Enums;
using NosSmooth.PacketSerializer.Abstractions.Attributes;
namespace NosSmooth.Packets.Server.Portals;
/// <summary>
/// Packet sent when joining a map with one portal that is on the map.
/// </summary>
/// <param name="X">The x coordinate of the portal.</param>
/// <param name="Y">The y coordinate of the portal.</param>
/// <param name="TargetMapId">The map the portal leads to.</param>
/// <param name="PortalType">The type of the portal.</param>
/// <param name="PortalId">The id of the portal entity.</param>
/// <param name="IsDisabled">Whether the portal is disabled/locked.</param>
[PacketHeader("gp", PacketSource.Server)]
[GenerateSerializer(true)]
public record GpPacket
(
[PacketIndex(0)]
short X,
[PacketIndex(1)]
short Y,
[PacketIndex(2)]
int TargetMapId,
[PacketIndex(3)]
PortalType PortalType,
[PacketIndex(4)]
long PortalId,
[PacketIndex(5)]
bool IsDisabled
) : IPacket;