#pragma once namespace blitz { namespace protocol { enum class PacketSender { /** Sent by clients and server */ Both, /** Sent by clients to the server */ Client, /** Sent by server to the clients */ Server, }; /** * \def DeclareAllPacket * \brief Avoids repetitive operations on packets */ #define DeclareAllPacket() \ DeclarePacket(ChatMessage, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Both) \ DeclarePacket(Disconnect, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Both) \ DeclarePacket(KeepAlive, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Both) \ DeclarePacket(LoggingSuccess, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(PlayerDeath, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(PlayerJoin, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(PlayerLeave, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(PlayerList, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(PlayerLogin, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Client) \ DeclarePacket(PlayerPositionAndRotation, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Both) \ DeclarePacket(PlayerShoot, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Both) \ DeclarePacket(PlayerStats, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(ServerConfig, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(ServerTps, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(UpdateGameState, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Server) \ DeclarePacket(UpdateHealth, Nz::ENetPacketFlag::Reliable, blitz::protocol::PacketSender::Client) } // namespace protocol } // namespace blitz